Esta web está hecha igual que el blog de Fabio Akita (código), con dos cambios: los scripts de apoyo están en Python en lugar de Ruby, y mise lo controla todo: versiones de las herramientas, el entorno de Python y todas las tareas.
El stack
- Hugo convierte Markdown en HTML estático. Sin base de datos ni servidor.
- Hextra es el tema: modo oscuro, búsqueda (
Ctrl K), etiquetas, RSS y resaltado de código. - Netlify compila y publica con cada push a
main. - mise fija las versiones de Hugo, Go y Python, así que mi portátil, GitHub Actions y Netlify usan exactamente las mismas.
Tres idiomas
Cada entrada es una carpeta con un fichero por idioma:
content/2026/10/30/new-website-how-i-built-it/
├── index.en.md → /en/2026/10/30/my-new-website-how-i-built-it/
├── index.es.md → /es/2026/10/30/mi-nueva-web-como-la-hice/
└── index.pt-br.md → /pt-br/2026/10/30/meu-novo-site-como-eu-fiz/Hugo enlaza las traducciones, así que el selector de idioma te lleva a la misma entrada.
El flujo de trabajo
mise install # Hugo, Go, Python
mise run setup # dependencias de Python
mise run new "Título" # crea los 3 ficheros como borradores
mise run tags:search "ia" # reutilizar etiquetas existentes
mise run dev # http://localhost:1313/es/
mise run check # lo mismo que la CI: etiquetas, índices, tests, build
git push # Netlify publicaLa portada y el archivo los genera scripts/generate_index.py (el generate_index.rb de Akita, portado), y scripts/tag_catalog.py mantiene las etiquetas coherentes en los tres idiomas.