Arrancando el blog
Estoy probando nuevas formas de compartir publicaciones y experimentos, de una forma más sencilla y directa.
Mis pasos previos con Wordpress
Hasta este momento había estado usando Wordpress como plataforma de blogging. Basicamente dispone de todo tipo de complementos y opciones, tiene clientes para todos los sistemas operativos y multitud de temas. Sin embargo, publicar en Wordpress siempre me ha generado fricción. En ocasiones utilizaba complementos que no funcionaban en el cliente móvil, o con el nuevo editor de texto parte de las herramientas que usaba dejaban de funcionar. Estos problemas se manifestaban de forma más acentuada cuando trataba de publicar de continuo. Era hora de probar algo nuevo.
Generadores estáticos de contenido
En estos momentos, estoy probando una nueva solución basada en un generador de ficheros estáticos. A diferencia de Wordpress, con esta solución los datos no están almacenados en una base de datos y son accedidos utilizando PHP. Con esta nueva solución los ficheros de la web se crean de antemano y se sirven directamente sin ningín acceso a base de datos. Veamos cómo funciona más en detalle.
Todo parte desde un fichero de texto en mi ordenador. Este fichero está en formato Org-mode y lo edito utilizando emacs. Cada uno de los posts está bajo un encabezado (indicado por un asterisco). Para exportar los contenidos utilizo el complemento ox-hugo, que me permite generar todo el blog a partir de este fichero.
Cuando quiero actualizar mi blog, sólo tengo que exportar los contenidos usando C-c C-e H h y esto me genera los contenidos del blog en formato Markdown.
Para generar el sitio web completo utilizaré como generador de páginas estáticas Hugo. Para lanzar la generación del sitio web en HTML tan sólo tengo que hacer:
hugo -D
Esto me dejará la salida en el directorio public y esta será la carpeta que tendré que subir.
Una vez tengo generado el sitio web, tengo distintas opciones para publicarlo. Una de las más sencillas sería copiarlo a un servidor remoto utilizando rsync. En mi caso tenía ganas de probar alguno de los servidores de páginas de Gitlab o Github, aunque he optado por una solución un tanto alternativa.
He instalado mi sitio web usando la configuración en un sólo paso del tema Academic de Hugo sobre Netlify.
He creado un repositorio privado en gitlab, que contiene todos los ficheros generados por Hugo. Para actualizar los últimos cambios tendré que hacer:
git commit
Notas experimentales
Según la documentación de Hugo, el formato org-mode está soportado de forma nativa. Parece que todo el mundo está utilizando ox-hugo, ya que el formato Org dispone de un montón de funcionalidades y no todas se muestran bien. Habrá que probar las distintas alternativas.