-
released this
2025-04-06 19:37:54 +02:00 | 97 commits to main since this releaseThis marks the first public release of BSSG - Bash Static Site Generator (v0.9)!
After nearly a decade of personal development and use, stemming from a journey away from complex dynamic CMS platforms like WordPress, BSSG is now available for everyone. It represents a desire for a simpler, more portable, and owner-controlled way to manage personal blogs and websites.
Read the full story behind its creation here: Launching BSSG - My Journey from Dynamic CMS to Bash Static Site Generator
What is BSSG?
BSSG is a static site generator written entirely in Bash script. It takes Markdown files (with simple frontmatter) for posts and pages and generates a complete, static HTML website. It's designed with portability and simplicity in mind, aiming to be a robust alternative for blogs where content doesn't change every second.
Key Features in this Release:
- Portability: Designed to run on Linux, FreeBSD, OpenBSD, NetBSD, and macOS with minimal dependencies (Bash, standard Unix utils, a Markdown processor).
- Markdown Support: Uses Pandoc, CommonMark (cmark), or markdown.pl for processing content.
- Essential Blogging Features: Generates RSS feeds, sitemap.xml, tag pages, yearly/monthly archives, OpenGraph tags, and calculates reading times.
- Simple Theming: Easily switch themes by changing a CSS file. Over 50 diverse themes included (from modern to retro-computing styles)! Includes a script (
generate_theme_previews.sh) to preview your site with all themes. - Performance: Includes incremental builds, metadata caching, and optional parallel build support via GNU
parallelto handle larger sites efficiently. - Utilities: Built-in backup and restore scripts for easy content management.
- Internationalization (i18n): Supports generating the site in different languages (site-wide, not multilingual posts yet).
- Customization: Configurable slugs, posts per page, date formats, timezones, and more via
config.sh.local. - Static Files & Pages: Easily include static assets (images, CSS, JS) and create static pages alongside blog posts.
- BSD Licensed: Freedom to use and modify.
Why v0.9?
While BSSG is stable and has been used personally and by some clients for years, this initial public release acknowledges that the codebase (especially
build.sh) grew organically and could benefit from refactoring. Future releases will focus on code cleanup, potential new features (likelastmodtimestamps), and addressing any issues found by the community. The core functionality should be solid and ready for use.(Note: An experimental Node.js admin interface exists but is not included in this core release bundle as it requires further testing.)
Getting Started:
- Clone the repository.
- Install dependencies (usually just
bashandcmarkorpandoc). - Run
./bssg.sh postto create your first post. - Run
./bssg.sh buildto generate your site in theoutput/directory. - Check the README.md for full details.
I hope BSSG proves useful for those seeking a straightforward, shell-based approach to static site generation.
Happy Blogging!
Downloads
-
Source code (ZIP)
1 download
-
Source code (TAR.GZ)
4 downloads