¿Cómo Funciona Este Blog?

Publicado el 2018.12.15

Me parece interesante hacer un repaso del Stack tecnológico completo que hace posible que vos estés leyendo esto ahora mismo.

  • Hugo — Es un framework para la generación de sitios web estáticos. Está escrito en golang. Para decirlo de una manera simple, genera un sitio web html, listo para ser servido, a partir de archivos de diseño por un lado y de archivos de contenido por otro lado.
  • Markdown — Todo el contenido del blog (cada uno de los posts que lo componen) está escrito en formato Markdown. Estos archivos son consumidos por Hugo para generar el sitio web.
  • Bulma — Framework CSS basado en flexbox. Me pareció super moderno e intuitivo de usar. Se podría decir que es una alternativa a Bootstrap.
  • Bulminimal Es un theme para Hugo que estoy armando. Diseño muy simple y minimalista, usando HTML5, y Bulma CSS. Cuando esté más avanzado el proyecto prometo publicarlo.
  • Forestry — Es un Gestor de Contenido (en inglés CMS), pensado para administrar el contenido de sitios web estáticos construidos con Hugo. Tiene la ventaja y peculiaridad de integrarse completamente con Git. Es una interfaz muy linda para el manejo y redacción de los posts.
  • Git — Es para el control de cambios de código, pero además es importante en la coordinación de las demás partes, ya que maneja los cambios que se hacen tanto en los archivos de diseño, como principalmente los archivos de contenido. Cualquier cambio queda registrado, y cada uno de estos cambios dispara los procesos automatizados (dentro de Gitlab) que arman el website.
  • Gitlab — Es la plataforma donde está hosteado el repositorio git de la web. Además es el nexo entre distintas otras herramientas que conectan a partir de acá y ejecutan distintos eventos.
  • Gitlab CI — Sistema de Integración Continua, forma parte de Gitlab. Conceptualmente agarra los cambios en el código, y ejecuta todo el proceso de “build” de la página. Ejecuta los comandos de Hugo necesarios para la construcción del sitio web, y da como resultado la web lista para “deploy” al hosting.
  • Gitlab Pages — Es hosting para sitios web estáticos integrado dentro de Gitlab. Agarra el resultado del proceso de Gitlab CI, y directamente lo pone disponible en un dominio web.
  • Cloudflare CDN — La última pieza del rompecabezas es Cloudflare. Es una Content Delivery Network, donde la idea es que los visitantes a la web en cualquier parte del mundo, en lugar de tener que conectarse con el servidor de la web, se puedan conectar a servidores más cercanos a su ubicación geográfica. Para esto, cada uno de esos servidores locales se guarda una copia de la web, para servirla directamente en lugar de ir a buscarla al servidor central.

Parecen muchas partes, pero en el día a día, para actualizar la web lo único que tengo que hacer es entrar al CMS, redactar un nuevo artículo y apretar el botoncito de Guardar. El resto del procedimiento está todo definido y automatizado.