Github Codespaces para desarrollar con Hugo y Node
Estuve probando una nueva funcionalidad de GitHub llamada Codespaces, que permite crear y usar un entorno de desarrollo completo de forma virtual con tan solo un clic. Es una propuesta que suena espectacular!
Una de las primeras pruebas que hice fue configurar un entorno para actualizar mi blog. En este entorno en particular, necesito dos dependencias clave:
Aunque el Codespace generado ya incluye estas herramientas por defecto, solo incluye la edición estándar de Hugo, y no pude instalar manualmente la extended edition (necesaria para procesar imágenes y otros archivos).
Al explorar la documentación oficial, descubrí cómo personalizar el Dev Container con el que trabaja Codespaces. Esto me permitió adaptar el entorno a lo que necesitaba.
Configuración Final
El archivo final (.devcontainer/devcontainer.json
):
{
"image": "mcr.microsoft.com/devcontainers/base:debian",
"features": {
"ghcr.io/devcontainers/features/node:1": {},
"ghcr.io/devcontainers/features/hugo:1": {
"extended": true
}
}
}
Referencias:
- Post: https://theindiecoder.cloud/posts/dev-container-setup-for-hugo/
- Imagen base, Debian: https://github.com/devcontainers/templates/tree/main/src/debian
- Instalación de Node: https://github.com/devcontainers/features/tree/main/src/node
- Instalación de Hugo: https://github.com/devcontainers/features/tree/main/src/hugo