La canalización de blogs del autor comienza con documentos Org-mode que sirven como la única fuente de verdad, conteniendo prosa, bloques de código ejecutables, diagramas d2 y referencias bibliográficas. Al permanecer dentro de Emacs, el autor evita el cambio de contexto y mantiene un entorno de escritura consistente donde todas las computaciones que respaldan el contenido pueden evaluarse in situ. Este diseño refleja una evolución de los intentos anteriores centrados en Emacs, ahora refinados para mantener el lado de la publicación más pequeño, tipado y más fácil de entender, preservando Emacs como el centro central para la creación.
Cuando es momento de publicar, un convertidor basado en Gleam procesa cada archivo Org: invoca Pandoc para convertir Org a Markdown con sabor GitHub con procesamiento de citas, aplica tres filtros Lua personalizados para la preservación de versos, agrupación de bibliografía y traducción de rutas, luego pasa el resultado a Blogatto para generar la estructura HTML final. Simultáneamente, Gleam y Lustre trabajan juntos para producir elementos HTML verificados en tipos para el diseño del sitio, asegurando que las páginas generadas sean estructuralmente sólidas. El autor ilustra esto con una función Gleam que toma una lista de publicaciones y devuelve un elemento Lustre para la página de índice de publicaciones, mostrando cómo todo el pipeline se beneficia de la verificación de tipos estáticos a lo largo.
Esta imagen ilustra la canalización de conversión descrita en el segundo párrafo, donde los archivos Org son procesados por Pandoc y los filtros Lua antes de que Blogatto genere HTML.
Los flakes de Nix y devenv proporcionan un entorno de desarrollo reproducible que fija versiones exactas de Gleam, Pandoc, make y otras dependencias, permitiendo al autor ingresar a un shell completamente configurado con el simple comando ‘nix develop’. Esta reproducibilidad elimina la dependencia de herramientas instaladas globalmente y garantiza que el mismo entorno de construcción pueda recrearse en cualquier máquina, apoyando el objetivo del autor de tener un flujo de trabajo agradable y predecible dentro de Emacs.
El autor sostiene que Org-mode es superior a Markdown para este caso de uso precisamente porque permanece interactivo dentro del editor: características como bloques de código fuente, diagramas y citas pueden manipularse y validarse en tiempo real, en lugar de requerir un paso de compilación separado para ver los resultados. Aunque Org-Publish podría automatizar gran parte del pipeline, el autor encontró difícil lograr las características deseadas de calidad de vida, como el resaltado de sintaxis al generar HTML, lo que refuerza la decisión de mantener los pasos de conversión explícitos y separados.