Sitio web de OSOCO (https://osoco.es), generado como sitio estático con
Hugo y un tema propio (site/themes/hugo-osoco-theme).
Cada push a master dispara la construcción y publicación en Netlify.
El sitio y el tema son de la era de Hugo 0.30 (2017) y no compilan con versiones modernas de Hugo (cambios en plantillas, taxonomías y motor de Markdown). Hay que usar el binario 0.30.2, el mismo que usa Netlify.
Instalación en Linux (una sola vez):
curl -sSL -o /tmp/hugo.tgz https://github.com/gohugoio/hugo/releases/download/v0.30.2/hugo_0.30.2_Linux-64bit.tar.gz
tar -xzf /tmp/hugo.tgz -C /tmp hugo
install -m 755 /tmp/hugo ~/.local/bin/hugo-0.30Se instala como hugo-0.30 para no interferir con un Hugo moderno que
pueda haber en el sistema.
cd site
hugo-0.30 serverY abrir http://localhost:1313. El servidor recarga el navegador automáticamente al editar contenido o plantillas. Opciones útiles:
hugo-0.30 server --buildDrafts --buildFuture— ver borradores y posts con fecha futura.hugo-0.30 -s site -d dist(desde la raíz) — solo generar el sitio estático.
- Crear
site/content/thoughts/<slug>.mdcon front matter TOML (ver cualquier post existente como plantilla:title,subtitle,date,months,authors/authorPhotos,tags,summary,background,backgroundSummary). - Las imágenes van en
site/static/images/thoughts/y se insertan con{{< figure src="/images/thoughts/..." >}}. Los camposbackgroundybackgroundSummary(banner y miniatura del listado) también se sirven desde ese directorio. - Las URLs siguen el patrón
/thoughts/:year/:month/:title/, derivado del título. Si dos posts comparten título (p. ej. versiones en dos idiomas), fijar la URL conurl = "..."en el front matter para evitar colisiones. - Referencias bibliográficas: notas al pie
[^n]en el texto y sección final# Referencias(veramiga-smalltalk.mdoas-we-may-think-software.mdcomo ejemplo, este último también del patrón bilingüe con enlaces cruzados entre idiomas).
Configurado en netlify.toml: ejecuta scripts/netlify-build.sh, que
descarga el binario de Hugo 0.30.2 y construye site/ → dist/.
No se puede usar la variable HUGO_VERSION de Netlify: su sistema de
instalación actual (mise) solo conoce la variante hugo-extended, que no
existe para versiones tan antiguas, y falla con un 404.
El repo nació del boilerplate "Victor Hugo" (Hugo + Gulp + Webpack). Ese
pipeline (package.json, gulpfile.js, src/) es vestigial: nada del
sitio publicado referencia su salida (app.js, dist/css/*). Los CSS y JS
reales viven en site/themes/hugo-osoco-theme/static/. No hace falta Node
ni npm install para trabajar con el sitio.