Hugo Helloworld

/img/posts/hugo-helloworld-howto.webp

Introducción

Hugo es un generador de sitios web estáticos extremadamente rápido: puede crear un sitio completo en cuestión de décimas de segundo. Además, es flexible y modular, permitiendo personalizar desde el contenido hasta el diseño y la lógica de plantillas.

El artículo anterior sobre Hugo explica cómo instalar Hugo en tu ordenador. Si todavía no lo tienes instalado, empieza por hacerlo antes de continuar leyendo este artículo.

Este artículo avanza en esta serie de artículos sobre Hugo, explicando paso a paso como utilizar este framework para crear y visualizar tu primer website.

Crear el website

Para iniciar un nuevo proyecto en Hugo llamado MyWebsite, abre una terminal y ejecuta el siguiente comando:

$ hugo new site MyWebsite

Este comando genera una estructura de directorios con el siguiente contenido:

$ tree MyWebsite/
MyWebsite/
├── archetypes
│   └── default.md
├── assets
├── content
├── data
├── hugo.toml
├── i18n
├── layouts
├── static
└── themes

Explico brevemente lo que significa cada directorio, sin entrar en muchos detalles.

  • archetypes/ directorio que almacena plantillas para nuevos contenidos.
  • assets/ directorio que almacena recursos procesables (CSS, JS, imágenes optimizadas).
  • content/ directorio que almacena archivos de contenido en formato Markdown u otros.
  • data/ directorio que almacena ficheros de datos (YAML, JSON, TOML) accesibles desde las plantillas.
  • hugo.toml fichero principal de configuración del sitio.
  • i18n/ directorio que almacena traducciones para contenido multi-lenguaje
  • layouts/ directorio que almacena plantillas HTML personalizadas.
  • static/ directorio que almacena archivos estáticos que se copian tal cual al sitio final (imágenes, fuentes, etc.).
  • themes/ directorio que almacena temas instalados para definir el diseño del sitio.

En artículos posteriores se explicarán más detalles sobre cada uno de estos directorios. Este artículo se centra en explicar lo mínimo y necesario para que aprendas a crear tu primera página web con Hugo.

Elegir tema

En el contexto del framework Hugo, un tema es un conjunto estructurado de archivos que definen cómo se transforman los contenidos escritos en markdown en páginas HTML completas.

Al crear un nuevo sitio con Hugo, no se incluye un tema por defecto. Esto significa que Hugo no sabrá como transformar los archivos markdown en HTML. Por eso, el primer paso tras crear un sitio con Hugo es elegir su tema y posteriormente instalarlo dentro de la carpeta themes/ del proyecto.

En este ejemplo vamos a usar Ananke, un tema popular y sencillo, disponible públicamente en GitHub. Para usar ananke en Hugo, sigue estos pasos:

Primero, entra dentro de la carpeta del proyecto que acabas de crear:

$ cd MyWebsite

Inicializa un repositorio Git:

$ git init

Luego añade ananke como un submódulo de git:

$ git submodule add https://github.com/theNewDynamic/gohugo-theme-ananke.git themes/ananke

Esto descargará el tema ananke dentro del directorio themes/ananke.

Ahora necesitas indicarle a Hugo que el nuevo sitio que acabas de crear utilizará este tema. Para ello, abre el archivo hugo.toml y añade el siguiente contenido:

theme = "ananke"

Esto es todo lo que Hugo necesita para saber el tema del nuevo sitio web que que acabas de crear. A partir de ahora, Hugo ya sabe las plantillas que debe usar para renderizar correctamente el contenido, porque el tema define los layouts por defecto.

Crea tu primera pagina

Para crear la primera pagina web de tu sitio web, ejecuta el siguiente comando:

$ hugo new posts/my-first-post.md

Este comando genera un archivo content/posts/my-first-post.md en formato Markdown con una cabecera inicial conocida como Front Matter (cabecera de metadatos) en formato TOML.

Usa este comando para visualizar el contenido del archivo generado:

$ cat content/posts/my-first-post.md
+++
date = '2025-08-11T11:40:12+02:00'
draft = true
title = 'My First Post'
+++

Fíjate que la página tiene un titulo (title), una fecha de creación (date) y un modo borrador (draft) que puede estar a true o a false. Luego hablaré sobre este modo borrador.

Edita el contenido

Edita el fichero, y añade este contenido:

$ vi content/posts/my-first-post.md
+++
date = '2025-08-11T11:40:12+02:00'
draft = true
title = 'My First Post'
+++

Hola mundo, este es mi primer proyecto en Hugo.
Pulso la tecla ESC, :wq!

Graba los cambios y sal del fichero.

Servidor web local

Hugo es capaz de correr un servidor web local para mostrarte el contenido de tu sitio web. Puedes arrancarlo de esta manera:

$ hugo server

Cuando Hugo crea una nueva página web, la crea en modo borrador (draft = true). En este modo, el servidor web de Hugo mantiene la web oculta, es decir, no forma parte de la web que publica. Si quieres que el servidor web muestre también los borradores (draft = true), añade la opción -D al final:

$ hugo server -D

Ahora abre tu navegador web favorito y haz que apunte a esta URL local, en el puerto 1313:

http://localhost:1313

Veras tu primer web-site desarrollado con Hugo usando el tema ananke.

Hugo helloworld first website

Despedida

En este artículo hemos creado un sitio básico con Hugo, instalado un tema y puesto en marcha un servidor local para verlo en acción. Esto es solo el comienzo: en los próximos artículos aprenderás a organizar el contenido como un profesional, personalizar el diseño de tu sitio y automatizar el despliegue para producción.

Además, prepararé una guía específica sobre Markdown, el lenguaje que hace que escribir en Hugo sea rápido y limpio. Si esta herramienta te ha sorprendido por su velocidad y simplicidad, espera a ver todo lo que puedes hacer con ella.

¿Estas listo para llevar tu web al siguiente nivel? ¡Nos vemos en la próxima entrega!

Pulso la tecla ESC, dos puntos wq!


Leer más


Instalación de Hugo

Articulo disponible en formato audiblog:

Introducción

El framework Hugo es uno de los generadores de sitios estáticos más rápidos y versátiles del panorama actual.

Podrías instalar Hugo desde los paquetes oficiales disponibles en los repositorios de Linux, pero suelen estar desactualizados. Compilar el framework desde el código fuente ofrece varias ventajas: te da un control total sobre la versión que usas, te permite incorporar rápidamente las mejoras de la comunidad, te brinda la opción de modificar el código a tu gusto y, además, es una excelente oportunidad para aprender.

/img/posts/hugo-install-howto.webp

Instalación de Go

Introducción

Go es un lenguaje que ha calado entre desarrolladores que buscan simplicidad, rendimiento y concurrencia sin complicaciones. En el artículo anterior hice una introducción al lenguaje Go. Hablé sobre sus principios de diseño y las razones por las que Go se ha convertido en una opción atractiva para proyectos de backend, microservicios o herramientas de línea de comandos.

/img/posts/golang-install-howto.webp