Introducción
Hugo es un generador de paginas estáticas creado con Go, lo cual significa una gran rapidez y ligereza al servir el contenido, todo esto aunado a la simpleza que caracteriza a los generadores de paginas estáticas del tipo de Jekyll o Hexo
Instalación de Hugo
La forma mas practica es descargando el instalador .deb
(para Gnu/Linux) desde el GitHub de Hugo, esto nos va a permitir tener la ultima versión de Hugo https://github.com/gohugoio/hugo/releases
Una vez instalado revisamos que todo este instalado de forma adecuada
$ hugo env
Hugo Static Site Generator v0.37.1 linux/amd64 BuildDate: 2018-03-07T17:56:25Z
GOOS="linux"
GOARCH="amd64"
GOVERSION="go1.10"
Crear un proyecto
# hugo new site <nombre del proyecto>
$ hugo new site blog
# Nos movemos dentro del nuevo proyecto
$ cd blog
dentro de la carpeta del proyecto veremos una estructura como la siguiente
.
├── archetypes
│ └── default.md
├── config.toml
├── content
├── data
├── layouts
├── static
└── themes
6 directories, 2 files
Instalar un tema
Los temas se pueden descargar desde la pagina de temas de Hugo https://themes.gohugo.io/ ya sea descargando el .zip desde el git del tema o clonandolo dentro de la carpeta themes de Hugo yo en mi caso usare el clonado del repositorio
$ git clone https://github.com/xianmin/hugo-theme-jane.git themes/jane
Seguir las instrucciones del repositorio del tema para hacerlo funcionar en nuestra pagina.
Añadir contenido
Ya que Hugo soporta múltiples directorios se va a crear una carpeta para almacenar los posts generales y nuestro primer contenido en Markdown
# hugo new <archivo.tipo_de_archivo>
$ hugo new holaMundo.md
Iniciar el servidor
Para visualizar en un navegador el contenido de Hugo se ejecuta el servidor local de Hugo
$ hugo server
# Para visualizar con todo y borradores (draft)
$ hugo server -D
Generar la pagina estática de nuestro proyecto
$ hugo
Esto generara una carpeta llamada public con todo lo necesario para desplegar en nuestro hosting
Si se piensa usar GitHub Pages solo es necesario subir el contenido de public a nuestro repositorio