BSSG es un generador de sitios estáticos escrito en Bash. Convierte artículos o páginas redactadas en Markdown en archivos HTML estáticos, con soporte para RSS, mapas del sitio, etiquetas, archivos y más de 50 temas CSS que se pueden cambiar fácilmente sin romper la estructura del sitio.
BSSG es extremadamente simple y fácil de usar, permitiéndote tener un blog en funcionamiento en cuestión de minutos.
Lo que hace especial a BSSG es la facilidad con la que puedes cambiar de tema sin complicaciones.
Este proyecto es el resultado de más de 10 años de trabajo de su creador, Stefano Marinelli, y genera sitios que alcanzan puntuaciones muy altas en accesibilidad y velocidad.
Características destacadas
Portabilidad: Utiliza herramientas nativas del sistema operativo (por ejemplo,
md5sumen Linux omd5en OpenBSD y NetBSD).Temas simples: Los temas son únicamente archivos CSS, lo que mantiene inalterable la estructura del sitio y facilita la creación o cambio de temas. Hay más de 50 disponibles, que puedes ver aquí.
Funciones esenciales: Soporte para feeds RSS, sitemap.xml, etiquetas OpenGraph (para compartir en redes sociales), e internacionalización (el blog puede estar en otros idiomas, aunque no es multilingüe).
Script de copia de seguridad y restauración: Solo copia archivos esenciales como la configuración, publicaciones y páginas.
Dependencias mínimas.
Compatibilidad con Markdown: Admite CommonMark, Pandoc y markdown.pl.
Imágenes destacadas.
Integración opción al con GNU Parallel: Acelera la construcción de sitios con muchas publicaciones.
Alta accesibilidad y rendimiento: Sitios rápidos y accesibles de forma predeterminada.
Licencia BSD: Código abierto bajo una licencia muy permisiva.
Además, experimentalmente, BSSG cuenta con una interfaz de administración básica (basada en Node Express), que incluye un editor Markdown y permite programar publicaciones, generando archivos y ejecutando el generador en el momento adecuado.
Requisitos
Para utilizar BSSG necesitarás:
Bash
Un procesador de Markdown:
cmark(por defecto y recomendado),pandocomarkdown.pl(configurable medianteMARKDOWN_PROCESSORenconfig.sh.local)Utilidades estándar de Unix (
awk,sed,grep,find,date, entre otras)(Opcional) GNU
parallelpara construcciones más rápidas
Instalación
El proceso de instalación es muy sencillo:
Clona el repositorio de BSSG
git clone https://brew.bsd.cafe/stefano/BSSG.git
cd BSSG
Inicializa el directorio de tu sitio
./bssg.sh init /ruta/hacia/tu/sitio/web
Este comando creará un nuevo directorio para tu sitio web con la estructura necesaria (src, pages, drafts, static) y el archivo de configuración config.sh.local. El script te preguntará si deseas configurar automáticamente los scripts para trabajar con tu nuevo sitio.
🗨️ Si optas por separar el sitio de los scripts principales (opción recomendada), toda la configuración se realizará en
/ruta/hacia/tu/sitio/web/config.sh.local.
Crea tu primera publicación
Para crear una nueva entrada en tu blog:
./bssg.sh post
Salida de ejemplo:
[SUCCESS] Default configuration loaded from config.sh
[SUCCESS] Local configuration loaded from config.sh.local
[INFO] Loading locale: es from locales/es.sh
[INFO] Expanding tilde (~) in configuration paths...
Central configuration loaded vía config_loader.sh
Starting interactive post creation...
Enter post title:
Si no configuraste los scripts automáticamente en el paso anterior, debes indicar manualmente el archivo de configuración:
./bssg.sh post --config /ruta/hacia/tu/sitio/web/config.sh.local
También puedes crear manualmente un archivo
.mden la carpeta/srcutilizando tu editor de texto favorito.
Construye tu sitio
Una vez tengas tus publicaciones listas:
./bssg.sh build
Salida:
[SUCCESS] Default configuration loaded from config.sh
[SUCCESS] Local configuration loaded from config.sh.local
[INFO] Loading locale: es from locales/es.sh
[INFO] Expanding tilde (~) in configuration paths...
Central configuration loaded vía config_loader.sh
Parsing build-specific arguments...
Invoking build process (scripts/build/main.sh)...
BSSG Build Process - Starting...
Already in project root: /home/carlos/Descargas/bssg/BSSG
Using theme: terminal
Loaded utilities.
Checking dependencies...
GNU parallel found! Using parallel processing.
Recuerda que, si no configuraste los scripts automáticamente, debes indicar la ubicación de la configuración:
./bssg.sh build --config /ruta/hacia/tu/sitio/web/config.sh.local
Visualiza tu sitio localmente
Para ver tu sitio en tu navegador:
cd /ruta/hacia/tu/sitio/web/
python3 -m http.server 8000
Accede a http://localhost:8000 desde tu navegador favorito.

Esto es solo una pequeña muestra de todo lo que BSSG puede ofrecerte. Cuenta con muchas más funcionalidades, como copias de seguridad automáticas y despliegue de sitios en servidores remotos. Puedes leer más en su documentación oficial.
Espero que te haya gustado, pasa un gran día 🐧