Uso de Litvis

Contenidos

  1. Documentos en Litvis
  2. Elm chunks
  3. Triple hat chunks
  4. DOT chunks
  5. Configuración de Elm

1. Documentos en Litvis

Un documento litvis corresponde a un archivo markdown que utiliza algunas características especiales que han de ser renderizadas utilizando el visualizador litvis.

En él se pueden incluir todos los elementos que se incluyen en un documento markdown pero además incluye algunas características que le otorgan una potencia mayor.

Durante este documento iremos presentando algunos de los conceptos fundamentales que harán falta para poder crear y entender los documentos de prácticas que se verán a lo largo de la asignatura.

2. Elm-chunks

Corresponden a bloques de código elm ejecutables. 

2.1 Sintáxis

```elm {...attributes}
...
```

2.2 Description

Al igual que cualquier otro bloque de código (chunk) de markdown-litvis, un elm-chunk se abre y se cierra con tres comillas invertidas (```). La referencia del lenguaje elm debe seguir inmediatamente a las comillas inversas sin espacio. Los argumentos que determinan el comportamiento del bloque deben colocarse encerrados por llaves "{...}" y separados por espacios y sin saltos de línea.

Los atributos han de ser descritos de acuerdo a las siguientes reglas:

Los atributos permitidos en los elm-chunks son:

Además hay que tener en cuenta dos cuestiones adicionales:

3. Triple hat chunks

Renderizan el resultado de la llamada en cualquier parte del documento markdown-litvis.

3.1 Sintáxis

^^^elm {...attributes}^^^

3.2 Descripción

Permiten la representación en línea o llamadas repetidas a la misma representación dentro de un documento. Usan la misma sintaxis de atributos que los bloques de código alfabetizados y reconocen las siguientes claves:

El orden de v,r, m yj determina el orden de la salida. Se considera una buena práctica evitar múltiples formatos de salida y especificaciones en un triple-hat-chunck, ya que esto ayuda a controlar el diseño de la salida.

4. DOT chunks

Renderizan un grafo dado en notación dot haciendo uso de la librería Viz.js.

4.1 Sintáxis

```dot
```

4.2 Descripción

Al igual que cualquier otro bloque de código (chunk) de markdown-litvis, un elm-chunk se abre y se cierra con tres comillas invertidas (```). La referencia del lenguaje elm debe seguir inmediatamente a las comillas inversas sin espacio.

Admite un atributo, especificado entre llaves en el que se puede especificar la forma de renderización, cuyos posibles valores pueden ser: circo, dot, neato, osage, or twopi. En general utilizaremos el valor por defecto dot.

En las prácticas se utilizará para la representación de los grafos tanto los grafos de formación como los distintos grafos de búsqueda o tableros que se presentarán en los distintos algoritmos estudiados.

Para ello recomendamos:

  1. Crear una variable que almacene la cadena en formato DOT definiendo su tipo como String (var : String).(Es indispensable establecer el tipo, si no se pone no se mostrará nada).

  2. En el chunk establecer los parámetros l (para mostrar el chunk) y m para ejecutar la salida como markdown. Esto nos mostrará el código en formato DOT.

  3. El código DOT mostrado podemos copiarlo y pegarlo en un chunk-dot (seguido del chunk donde se declara) para visualizarlo.

  4. Para dejar de mostrar el código DOT (y no ensuciar el documento) basta con quitar el parámetro m del chunk.

5. Configuración de Elm

Juega el papel del elm.json para configurar el compilador de Elm.

5.1 Syntax

---
elm:
  dependencies:
    ...
    ...
    ...
  source-directories:
    - ...
    - ...
---

5.2 Description

Las dependencies determina qué paquetes de Elm instalar. Las versiones de los paquetes se deben poner entre comillas para evitar que el analizador yaml las malinterprete, que no distingue entre valores numéricos como "4" y "4.0". Para hacer referencia a la última versión disponible de un paquete de Elm, se debe utilizar la palabra clave latest. En este caso, la última versión se seleccionará automáticamente cada vez que se borre la caché de litvis. No es necesario especificar paquetes del sistema como elm-lang / core oelm-lang / html.

El parámetro source-directories configura a Elm para "ver" módulos en el sistema de archivos local. Esto puede resultar útil al depurar una copia de un paquete antes de publicarlo. Cuando no se especifican los directorios de origen, no se importan módulos Elm locales desde el sistema de archivos, incluso si están en el mismo directorio que el documento litvis.

Por lo general será suficiente con importar el paquete LogicUS, aunque ocasionalemente se podrán complementar con el uso de alguna otra librería (se indicará en todo caso). Por lo general la cabecera de todos los documentos será:

---
elm:
  dependencies:
    vicramgon/logicus: latest
---

Pues ya está todo listo para pasar desarrollar las prácticas...