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.
En sus ultimas versiones también se ha añadido soporte para múltiples autores, un editor para las publicaciones, un servidor local para desarrollo y poder previsualizar nuestro sitio web, etc.
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,
md5sum
en Linux omd5
en 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 opcional 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),pandoc
omarkdown.pl
(configurable medianteMARKDOWN_PROCESSOR
enconfig.sh.local
)Utilidades estándar de Unix (
awk
,sed
,grep
,find
,date
, entre otras)(Opcional) GNU
parallel
para construcciones más rápidas
socat
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.
/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 via 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
.md
en la carpeta /src
utilizando tu editor de texto favorito. Recuerda mantener la estructura BSSG.Si prefieres utilizar una interfaz gráfica en vez de la terminal, simplemente abre el archivo bssg-editor.html
en tu navegador web favorito, rellena los metadatos de la publicación en la barra lateral y comienza a escribir en el editor.
A medida que vas escribiendo puedes guardar el trabajo y una vez finalizada la entrada puedes exportar el archivo markdown con el formato adecuado para BSSG.
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 via 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#
En sus ultimas versiones BSSG cuenta con su propio servidor de desarrollo para poder previsualizar nuestro sitio web.
Basta con ejecutar el comando:
./bssg.sh server
Este comando volverá a construir el sitio web y sera accesible desde tu navegador web en el puerto por defecto (8000) http://localhost:8000
También podemos utilizar el modulo de python para levantar un servidor http y previsualizar el contenido
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 🐧