Ir al contenido

Novedades

Tests de validación YAML reconocen los nuevos tipos de slide

Los tipos dockerfile, typescript, terraform y hcl añadidos en beta27 no estaban registrados en los tests de validación estructural de YAML, lo que provocaba que la suite de CI fallara al procesar el curso de ejemplo.


Nuevos tipos de slide: Dockerfile, TypeScript y Terraform

Sección titulada «Nuevos tipos de slide: Dockerfile, TypeScript y Terraform»

Tres nuevos tipos de slide de código con resaltado de sintaxis propio:

  • dockerfile — instrucciones (FROM, RUN, CMD, COPY…) en azul, variables $VAR/${VAR} en naranja, comentarios en gris, strings en verde.
  • typescript — todo JavaScript más las palabras clave propias del lenguaje: interface, type, enum, readonly, abstract, never, unknown, any, satisfies, decoradores @
  • terraform / hcl — bloques de recursos, variables, strings, comentarios (#, //, /* */) e interpolaciones ${…}/%{…} en naranja.

Los tres tipos soportan fichero: para mostrar la ruta sobre el código y auto-split automático cuando el bloque supera las 25 líneas.

Centrado de diagramas con , , , y

Estos caracteres tienen doble anchura visual en LibreOffice (se renderizan con la fuente emoji del sistema) pero el algoritmo de centrado los contaba como anchura 1, desplazando las líneas que los contenían respecto al resto del bloque ASCII. Añadidos a la lista de caracteres de ancho doble, el centrado ahora es correcto.


Scroll del editor al seleccionar un slide

Al hacer clic en un slide del árbol de navegación, la línea correspondiente quedaba a ~16 px del borde superior del editor en lugar de en la primera posición visible. Corregido: la línea destino aparece ahora exactamente al inicio del viewport. El fix también resuelve un caso en el que el primer clic tras abrir un fichero enviaba el scroll al final del documento.


Esta beta completa la parametrización de los estilos de presentación: casi todos los colores y tamaños de fuente que antes estaban fijos en el código son ahora configurables por plantilla o globalmente.

Colores de código y comentarios ahora aplicados

Los campos color_codigo y color_comentario ya existían en template.yaml pero no tenían efecto. Ahora se aplican correctamente al color del texto de código (T_CODE) y de los comentarios (T_COMMENT).

Colores de salida y terminal configurables

Cuatro nuevos parámetros para personalizar los slides salida y terminal: color_salida_ok, color_salida_err, color_terminal_prompt y color_terminal_root. Se configuran en template.yaml (sección estilos_inyectados) o en los ajustes globales.

Más parámetros configurables

  • color_diagrama: color del texto en slides de diagrama ASCII.
  • color_comparar_sep: color del separador central en slides comparar_*.
  • fichero_pt: tamaño de fuente de la ruta mostrada con el campo fichero:.
  • aviso_icon_pt: tamaño del icono/emoji en slides de aviso (warn/info/tip).
  • Portada de sección: sec_num_pt, sec_title_pt, sec_num_color, sec_sep_color.

Diálogo de ajustes mejorado

La página «Listas» del diálogo de ajustes se ha reorganizado en un grid compacto. Se ha añadido una nueva página «Portada secc.» con los controles de tamaño y color de la portada de sección.

Snap a mitad de pantalla en Linux

Al arrastrar la ventana al borde del monitor en entornos GNOME o KDE, el gestor de ventanas no podía encajarla en media pantalla porque los paneles internos forzaban un tamaño mínimo demasiado grande. Corregido.


Portada de sección automática

Añade portada_seccion: true en el bloque meta: de cualquier YAML y Temario insertará automáticamente un slide divisor antes de cada sección. El slide muestra “Sección: N” en grande, una línea separadora y el título de la sección, todo con los colores de la presentación. Desactivado por defecto; no afecta a presentaciones existentes.

Log persistente de errores

Cualquier error o cuelgue inesperado queda ahora registrado en ~/.local/share/temario/temario_errors.log (rotación automática 5 MB × 3). El diálogo de error muestra la ruta para facilitar el diagnóstico.

Subtítulo universal en todos los slides

El campo subtitulo: ya funciona en todos los tipos de slide: bullets, tabla, java, python, diagrama, terminal, aviso, dos_columnas, comparar, imagen, etc. Aparece centrado en cursiva justo bajo el indicador de sección.

Comandos multilinea en slides terminal

El auto-split de comandos largos es ahora shell-aware: nunca corta dentro de comillas ni URLs. Formas de split manual: bloque literal YAML (cmd: |) y marcador de continuación {cont: "..."}.

Candado de versión

Botón de candado 🔒/🔓 en el GUI y flags --lock/--unlock en el CLI para evitar que el número de versión se incremente al regenerar. Útil para iterar sobre el diseño sin perder el número de versión.

Toast al completar el build

El GUI muestra un aviso ”✓ Build completado” al terminar la generación y abre automáticamente el panel de log si estaba cerrado.

Paginación [N/M] en subtítulo

Cuando un slide largo se divide en partes, el indicador [1/2], [2/2]… aparece ahora en el subtítulo en lugar de en el título. El título queda igual en todas las partes, lo que mejora la legibilidad en el índice.

Crash ~20 s después de generar diapositivas (segfault)

Los tres hilos del GUI (ThumbnailWorker, BuildWorker, WatchWorker) podían provocar un doble borrado del objeto C++ que causaba un segfault con vtable corrupta unos 20 segundos después de terminar el build. Corregido.


Centrado correcto del bloque diagrama

Los slides de tipo diagrama se centran ahora como un bloque completo, no línea por línea. Todas las líneas se rellenan hasta la misma anchura antes de aplicar el centrado, por lo que el arte ASCII conserva su alineado interno mientras el bloque aparece centrado en el slide.

Tamaño de fuente automático en diagramas largos

Los diagramas con más de 12 líneas reducen automáticamente el tamaño de fuente para caber en el área de contenido, igual que los slides de código. Corrige el desbordamiento que empujaba líneas fuera del área visible.

Preview no cambiaba al seleccionar otra unidad

Al cambiar de unidad, si la nueva no tenía PDF generado el panel de preview seguía mostrando el PDF de la unidad anterior. Ahora muestra el estado vacío “Genera el curso para ver la preview” mientras no existe un PDF para la unidad activa.

Scroll del editor al seleccionar slide

Al hacer clic en un slide del árbol lateral, el editor sitúa ahora la diapositiva seleccionada como primera línea visible desde arriba, en lugar de centrarla en el viewport.


Borrar slides directamente desde el navegador

Ya puedes eliminar una diapositiva haciendo clic en el botón ✕ que aparece al pasar el ratón sobre cualquier slide en el árbol de la barra lateral. Antes de borrar se pide confirmación. La operación es deshacible con Ctrl+Z mientras no hayas guardado el fichero.

Hacer clic en la preview navega el editor

Al hacer clic en una miniatura del panel de preview, el editor YAML salta automáticamente a la línea de esa diapositiva y el árbol lateral la selecciona.

  • Fondos incorrectos en etiquetas dentro del panel lateral (nombre de fichero, número de versión, título de Preview y de Consola) — ahora transparentes.
  • El área de expansión (branch) del árbol de slides mostraba un color diferente al fondo del panel. Ya es coherente con el resto.
  • Al seleccionar un slide en modo oscuro, la zona de branch tomaba el color naranja/rojo del sistema en lugar del color de selección del tema. Ahora se usa siempre el color correcto.
  • Los checkboxes y radio buttons en el diálogo de ajustes no mostraban ningún símbolo visible en modo oscuro (solo un cuadrado azul sólido). Corregido.

Correcciones de CI (pipelines de seguridad en paralelo, mejoras en el empaquetado .deb, test E2E del website).


Panel de preview de diapositivas: filmstrip lateral derecho que muestra miniaturas del PDF generado en tiempo real, sincronizado con el navegador de slides. Las miniaturas se generan con pdftocairo en segundo plano y se cachean localmente. El botón fuerza la regeneración.

Números de línea en el editor YAML: margen izquierdo con el número de cada línea. Al seleccionar una slide en el árbol, el editor hace scroll a la línea correspondiente.


Navegación bidireccional editor ↔ árbol ↔ preview: mover el cursor en el editor selecciona automáticamente la slide en el árbol y en el panel de preview.

Autocompletado en el editor YAML (Ctrl+Espacio): sugiere los 27 tipos de slide, niveles de aviso, y las claves más frecuentes del formato YAML.


Cancelación de build: botón ◼ Cancelar en la barra de la consola mientras hay un build en curso. La cancelación es cooperativa: termina la unidad actual y para. También funciona con la tecla Escape.


0.1.7 estable — junio 2026

Sección titulada «0.1.7 — junio 2026»

Primera versión con paquetes nativos .deb (Debian 13 / Ubuntu 26.04) y .rpm (Fedora 43/44). Instalación con un solo comando apt install o dnf install.