Development notes, release, and insights on BSSG - Bash Static Site Generator

Announcing BSSG 0.10.0: More Control and Enhancements!

Published on: 13-04-2025 13:09:15 • 2 min read

I'm excited to announce the release of BSSG version 0.10.0! This release brings several new configuration options, user experience enhancements, and internal improvements to make managing your static site even better.

Key Highlights in 0.10.0

Enhanced Configuration

I've added several new variables to config.sh to give you more control over your site's behavior:

  • RSS_ITEM_LIMIT: Customize the number of posts included in your RSS feed (defaults to 15).
  • SHOW_TIMEZONE: Choose whether to display timezone offsets alongside dates throughout your site (defaults to false).
  • REBUILD_AFTER_POST & REBUILD_AFTER_EDIT: Decide if the site should automatically rebuild after creating or editing posts using the ./bssg.sh post and ./bssg.sh edit commands (defaults to true).

Improved Post Management

  • lastmod Frontmatter: You can now add an optional lastmod field to your post's frontmatter. This allows you to specify a modification date separate from the original publish date. This modification date will be used in your sitemap.xml and RSS feed (<atom:updated>). If the lastmod date differs from the date, an "Updated on" notice will also appear on the post page itself.

User Experience Touches

  • "Back to Top" Link: A localized "Back to Top" link has been added to the footer for easier navigation on long pages.
  • Minimal Theme Enhancements: The included minimal theme has received visual tweaks and improvements for a cleaner look.
  • Editor Fallback Easter Egg: If the EDITOR environment variable isn't set and nano isn't available, BSSG will now fall back to using vi. As a small helper, if vi is used as the fallback, the post and edit scripts will provide instructions on how to save and exit vi.

Internal Refinements

  • Build Process Refactoring: The internal build logic has been reorganized from a single script (scripts/build.sh) into multiple focused scripts within the scripts/build/ directory. While this is an internal change aimed at improving efficiency and output quality, it represents a significant shift in the build process structure. Don't worry, the user-facing command ./bssg.sh build remains exactly the same!

Important Update Notes

While the main ./bssg.sh build command functions as before, the internal refactoring mentioned above is a significant change. If you have custom scripts that interacted with the old scripts/build.sh (like potentially generate_theme_previews.sh if customized) or have heavily modified theme templates (like the footer), please review them carefully after updating to ensure they still work as expected with the new build structure in the scripts/build/ directory.

To ensure a smooth transition and avoid potential issues from leftover files, I strongly recommend performing a clean rebuild after updating:

./bssg.sh build --clean-output --force-rebuild

Get the Update!

I encourage all users to update to BSSG 0.10.0 to take advantage of these new features and improvements.

Happy blogging! Stefano