Porqué me estoy planteando dejar Blogger y pasar a un sitio estático gracias a Hugo.

Hugo es un generador de sitios estáticos a partir de ficheros en formato markdown. Hugo aplica una plantilla al contenido de los ficheros en formato markdon y crea los ficheros HTML.

Motivación

Aunque llevo toda la vida con un blog personal en Blogger, Google ha desatendido la plataforma y poco a poco se ha ido quedando atrás en prestaciones.

Ghost es la platforma que cada vez más desarrolladores y escritores técnicos usan, tanto en la versión alojada como en sus propias instalaciones. Es la que me gustaría usar para mis blogs: soporta markdown y no se entromete en el proceso ni de escribir ni de publicar los artículos.

Mi objetivo era ejecutar Ghost en la Raspberry Pi, pero al no existir soporte de SQLite para la arquitectura ARM, las imágenes para contenedores Docker están desactualizadas y no siempre son fáciles de construir.

Por otro lado, el objetivo del blog en la Raspberry Pi es documentar el proceso de aprendizaje sobre Docker y Kubernetes (además de Linux). A diferencia de lo que pasaba en mi anterior trabajo, donde estuve usando Hugo de forma experimental, ahora estas notas no contienen ningún tipo de información privada, por lo que publicaré también los artículos en internet.

En mis pruebas Hugo se integró en el flujo de trabajo diario sin interferir lo más mínimo, por lo que resultó una experiencia muy positiva.

Quiero combinar este blog (orientado al avance, a las pruebas, es decir, al proceso) con Dokuwiki (como almacén de conocimiento y documentación). Sin embargo, con Dokuwiki la dualidad entre en entorno local (en casa) y en internet es más difícil de conseguir de forma directa (usando recursos gratuitos). Tengo un contenedor en OpenShift con notas sobre diferentes temas, pero en esta instancia de Dokuwiki en OpenShift las carpetas de datos tienen una estructura diferente a la estándar, lo que dificulta mantener sincronizadas la versión local y la alojada en el cloud de Red Hat.

Hugo

La idea detrás de un generador de sitios estáticos es que, en muchas ocasiones, no es necesario disponer de toda la potencia que ofrecen las plataformas de blogging modernas como Wordpress, etc. Además, estas plataformas no son siempre fáciles de instalar, configurar y mantener en tu propio entorno local.

La alternativa es mantener un sitio web a partir de ficheros HTML independientes, pero resulta muy costoso en tiempo y esfuerzo.

A medio camino se encuentran los generadores de sitios como Jekill o Hugo.

Estos generadores de sitios estáticos parten de ficheros en formato markdown -que son sencillos de escribir- y se encargan de combinarlos con unas plantillas, generar los enlaces entre los diferentes artículos, crear nubes de etiquetas, etc (la parte tediosa) hasta generar los ficheros HTML.

Al final del proceso, tenemos un conjunto de ficheros web (HTML, javascript, css) que podemos alojar en cualquier servidor (o en servicios como GitHub Pages o Bitbucket).

Siguientes pasos

En estas fase inicial, únicamente tengo un contenedor con un servidor web (Nginx) sirviendo el sitio estático generado por Hugo (en un portátil).

Más adelante quiero incluir también un contenedor con Hugo (como el proporcionado por Hypriot) e ir añadiendo poco a poco todas las herramientas del proceso de Integración Continua -en forma de contenedores- desde el código fuente al sitio web publicado automáticamente con cada cambio. Como se apunta en la entrada Static Website Generation on Steriods with Docker, la idea es montar una cadena de CI: GoGS (repositorio de código a lo Github), Drone (el motor de Integración Continua: como Jenkins, pero escrito en Go) y para el deployment, una mezcla de Nginx (publicación local) y Bitbucket (publicación en internet).