Grubby: generador de sitios estáticos para repositorios Git en Ruby

Fuentes: Grubby: Static site generator for Git repos written in Ruby

Grubby es una herramienta de línea de comandos escrita en Ruby que genera sitios web estáticos a partir de repositorios Git. Diseñada para usuarios que prefieren mantener sus proyectos en repositorios 'bare' (sin directorio de trabajo), esta aplicación permite crear documentación web sin necesidad de configurar entornos de desarrollo complejos. El proyecto, que se inspira en RepoRat, está diseñado para ser utilizado con poca intervención, ofreciendo una configuración por defecto que funciona de inmediato.

La herramienta utiliza Kramdown como parser de Markdown por defecto, aunque permite sustituirlo si se requiere mayor flexibilidad. Grubby asume que los repositorios Git se almacenan con la extensión .git, lo cual es crucial para la generación correcta del índice de repositorios. La personalización se realiza principalmente mediante el archivo _config.yml, donde se definen el dominio y las rutas, mientras que el diseño visual se ajusta editando los archivos style.css, _header.html y _footer.html.

El proceso de generación se automatiza mediante un script de hooks (hooks/post-update) que se ejecuta en cada actualización del repositorio. Este script clona el repositorio en una carpeta temporal, ejecuta el script de Ruby de Grubby y limpia los archivos transitorios. Esta metodología es particularmente útil en entornos de alojamiento compartido, como NearlyFreeSpeech.NET, donde los usuarios pueden generar sitios individuales para cada repositorio sin intervención manual. Sin embargo, la herramienta no genera páginas para cambios individuales de commits ni ramas, limitando su uso a la documentación de repositorios completos.