Cada día que pasa se premia más la velocidad de carga de una web, desde un principio Google puso mucho de su parte para tratar de crear el buscador más rápido y lo consiguió, una de las claves de su éxito fue la capacidad de ofrecer al usuario la web que esta buscando en milésimas de segundo, se dice que los creadores estaban obsesionados con este tema.
Actualmente es relativamente sencillo crear una web, empresarial o personal para una pequeña empresa y que no vaya a requerir de gran carga, sin embargo a medida que las empresas crecen se encuentran en situaciones en las que tienen que elegir si pagar más por mejorar su infraestructura o contratar gente que mejore el código de la web, en el mejor de los casos la solución es implementar ambas.
Hoy os enseñamos una nueva forma de crear una web o blog que nos permite implantarla en un servidor con pocos recursos al tratarse de una gestión estática de la misma. Lógicamente este tipo de sistemas están limitados a la hora de la creación de tiendas o sistemas con interacción directa del usuario a la empresa, aún así se podrían implementar APIs que nos permitan seguir siendo veloces en la carga de nuestra web.
La herramienta de la que estamos hablando se llama Hugo, esta herramienta tiene como objetivo la transformación de ficheros con extensión .md a la creación de ficheros .html previamente tratados con una plantilla. Esto significa que transformamos ficheros de texto a una web completa con una plantilla.
Cabe mencionar que no es la única herramienta capaz de realizar dicha acción, existen otras como Jekyll, Hexo, Gatsby esta última también permite la transformación directa de artículos de un Wordpress a ficheros estáticos.
La forma de trabajar con Hugo es muy sencilla, nos descargamos el binario https://github.com/gohugoio/hugo/releases y lo guardamos en una carpeta que tengamos en nuestro $PATH (p.ej /usr/local/bin) Creamos nuestro primer sitio web con el comando.
hugo new site quickstart
Y luego instalamos nuestra plantilla.
cd quickstart;\
git init;\
git submodule add https://github.com/budparr/gohugo-theme-ananke.git themes/ananke;\
echo 'theme = "ananke"' >> config.toml
Para crear nuestro primer post ejecutamos
hugo new posts/my-first-post.md
Para crear un post nuevo no es necesario crearlo con el comando, tan solo con crear un fichero .md en la carpeta posts tendriamos creado el nuevo articulo, hay que tener en cuenta que ciertas plantillas usan otras carpetas para los articulos pero en todas las plantillas tienes una carpeta “exampleSite” con carpetas y articulos de ejemplo para que puedas ver lo shotcodes y los parametros a utilizar.
Por último tenemos dos opciones, una es ejecutar Hugo en formato servidor para que sirva estos ficheros html (hugo server -D) o bien simplemente que los genere para que nosotros los podamos mover a nuestro servidor apache o nginx y servilos desde ahí (hugo -D).