No se si lo habran notado(*), pero este blog esta construido de una forma bastante distinta al blog principal… todas las paginas del sitio son HTML’s “estaticos”. Espera, espera… no, no me puse a escribir HTML a lo cabron nada mas para hacer un blog… ademas, no tengo la habilidad para diseñar un sitio desde cero… (alguna vez lo intente y falle miserablemente jajajajaja). Lo que estoy utilizando es un generador de sitios estaticos llamado Hugo (https://gohugo.io/) y que dice ser “el framework mas rapido para construir sitios web”.
Digo, la rapidez es una gran ventaja, pero lo que a mi me llamo la atencion es el hecho de que sea bastante flexible y open-source… y como se puede usar en Linux/Mac/Windows, pues puedo utilizarlo en el raspberry pi donde vive la ardilla bot… aunque el contenido final esta alojado en otro servidor.
Hugo viene “empaquetado” en un solo ejecutable que no tiene muchas dependencias y por lo cual puedes conservar ese ejecutable y usarlo sin problemas aun despues de mucho tiempo… ademas de que esta programado en Go, lenguaje que tambien estoy intentando aprender por cuestiones relacionadas a cloud computing.
Otro punto que me atrajo, y que termino por convencerme, fue la forma en que se puede agregar contenido y el formato en que se guarda antes de crear el sitio estatico… simples archivos de texto (normalmente con extension .md , siglas de metadata).
Por ejemplo (copiando del tutorial oficial):
Para crear un nuevo post, se puede usar el comando:
$ hugo new posts/my-first-post.md
El cual te va a crear un archivo de texto basado en un patron estandar:
---
title: "My First Post"
date: 2019-03-26T08:47:11+01:00
draft: true
---
y a partir de ahi puedes empezar a agregar texto para crear tu post, usando markdown tags para darle estilo. Cuando el contenido esta listo, puedes generar el sitio actualizado… o tambien puedes hacer que Hugo la haga de servidor y asi tener un “LiveReload” para revisar los cambios de forma aun mas rapida. ¿Alguien aqui familar con la combinacion Latex + beamer + impressive ? a mi la experiencia me parece muy similar, en buen sentido… por que la neta yo preferia hacer presentationes con Latex :P
¿Y que tiene esto de bueno/divertido cuando puedes usar un sistema de gestion de contenidos como Wordpress? Pues son varias razones, pero yo me voy con:
- no tengo que preocuparme por una base de datos
- puedo guardar todo mi sitio (antes de producir el HTML) en un repositorio como github, y clonarlo en otro lugar ;)
- puedo buscar / modificar contenido en varios posts con comandos como grep / sed / awk/ find , entre otros…
- oportunidad de aprender algo nuevo…
Ademas, como lo decia al inicio de este post, todo lo que se genera son archivos HTML estaticos que puedes hospedar hasta en sitios gratuitos (por ejemplo github pages), sin tener la necesidad de estar “actualizando” el gestor de contenido a cada rato, o estar revisando si los “plug in” son confiables o no…
En fin, si tienen chance, y sobre todo curiosidad, intenten crear un sitio usando Hugo, el tutorial oficial es bastante sencillo (aunque tambien muy corto) y ademas hay muchos ejemplos en linea… lo que mas he visto son sitios estilo “portafilo” o “curriculum vitae”… de hecho, yo me tope con este framework por que queria crear un sitio de ese estilo :P
Pues hasta aqui con la promocion de Hugo… aun no he aprendido lo suficiente como para escribir mas detalladamente, pero se los queria presentar :P
Hasta el siguiente post, camara!
(*)Si usted noto que el sitio habiado sido generado con Hugo por que fue y vio el codigo fuente del blog antes de ver esta nota al pie, es decir, encontro el metatag “generator” que hace referencia a “Hugo”… entonces lo felicito, es usted un maldito paranoico como yo que anda revisando codigos fuente de cada sitio que visita para ver que encuentra…