Ir al contenido

Formato YAML

meta:
portada: "Título visible en la portada"
unidad: "Unidad 00"
output: "00_nombre-fichero" # prefijo del fichero de salida
objetivos:
- "Objetivo didáctico 1"
- "Objetivo didáctico 2"
indice:
- "Primera sección"
- "Segunda sección"
secciones:
- indice: 1 # referencia 1-based a la lista indice:
slides:
- tipo: texto
texto: "Contenido introductorio."
conclusion:
- "Punto de conclusión 1"
- "Punto de conclusión 2"
referencias:
- ["Nombre del recurso", "https://url.ejemplo.com"]

subtitulo: — texto en cursiva que aparece entre el indicador de sección y el contenido. Disponible en bullets, texto, java, python y todos los demás tipos de código, diagrama, terminal, salida, aviso, comparar_* y dos_columnas.

- tipo: bullets
subtitulo: "Características principales"
items:
- "Punto uno"
- "Punto dos"

notas: — texto que se inserta en las notas del presentador del ODP (visible en el modo presentación de LibreOffice). Disponible en cualquier slide.

- tipo: texto
notas: "Recordar mencionar el caso práctico del proyecto."
texto: "Contenido visible en la diapositiva."
- tipo: texto
texto: "Texto libre de la diapositiva."

\n dentro del valor produce un salto de línea real en la slide:

- tipo: texto
texto: "Primera línea.\nSegunda línea visible como párrafo separado."

Todos los tipos de código admiten:

  • texto: | — bloque literal YAML (recomendado); respeta la indentación original.
  • fichero: — opcional; muestra la ruta en gris encima del código.
  • subtitulo: — texto en cursiva debajo del indicador de sección.
  • Auto-split: más de 25 líneas genera varias slides [1/N].
  • Auto-sizing de fuente: ≤12 líneas → 16 pt · 13-16 → 14 pt · 17-21 → 12 pt · 22-27 → 10 pt · >27 → 9 pt.
tipoLenguajeResaltado
javaJavapalabras clave, strings, comentarios, números, anotaciones @
pythonPythonpalabras clave, strings, comentarios, números, decoradores @
javascriptJavaScriptpalabras clave, strings, comentarios, números
typescriptTypeScriptigual que JS + interface, type, enum, readonly, abstract, tipos primitivos…
xml / htmlXML / HTMLetiquetas, atributos, valores, comentarios
jspJSPHTML + scriptlets <% %> + EL ${}
cssCSSselectores, propiedades, valores, at-rules
jsonJSONclaves, strings, números, booleanos
yamlYAMLclaves, valores, comentarios, anchors
dockerfileDockerfileinstrucciones, strings, comentarios, variables $VAR/${VAR}
terraform / hclTerraform HCLbloques, strings, comentarios, interpolaciones ${…}
codigopseudocódigomonoespaciado sin resaltado
- tipo: java
fichero: "src/main/java/com/empresa/Hola.java" # opcional
texto: |
@RestController
public class HolaController {
@GetMapping("/hola")
public String hola(@RequestParam String nombre) {
return "Hola, " + nombre + "!";
}
}

Sesión interactiva de shell. Los strings planos son comandos de usuario (prompt verde $). Los dicts permiten variantes:

- tipo: terminal
items:
- {cmt: "Compilar el proyecto"}
- "mvn clean package"
- {out: "BUILD SUCCESS"}
- {cmt: "Ejecutar"}
- "java -jar target/app.jar"
- {ok: "Servidor en puerto 8080"}
DictEstiloUso
{cmt: "..."}grisComentario descriptivo
string planoverde con $Comando de usuario
{root: "..."}rojo con #Comando como root
{out: "..."}blancoSalida estándar
{ok: "..."}verdeÉxito o confirmación
{err: "..."}rojoError o aviso
{cont: "..."}blancoContinuación de línea (sin prompt)

Dos listas de texto en paralelo. Para comparaciones conceptuales: pros/contras, ventajas/inconvenientes, dos enfoques explicados con palabras. Los ítems son bullets de texto, sin resaltado de código.

- tipo: dos_columnas
izquierda:
- "Sencillo de aprender"
- "Comunidad enorme"
- "Ecosistema maduro"
derecha:
- "Tipado dinámico"
- "GIL limita paralelismo"
- "Lento en CPU-bound"