The next BSSG release will be huge.
I think I won't add anything else before releasing is, as the master branch is already full of changes.

I'll wait for some more feedback then, in the coming days, I'll release it.

Highlights
* Introduced a new RAM-first build mode via BUILD_MODE="ram" and ./bssg.sh build --build-mode ram, aimed at faster full rebuilds with lower disk churn.
* Added RAM-mode stage timing output so large builds now report where time is spent.
* Overhauled the modular build pipeline across indexing, content parsing, template preloading, posts, pages, tags, authors, archives, feeds, related posts, and post-processing.
* Improved incremental rebuild behavior with better file and metadata caching, smarter dependency checks, and more selective regeneration.
* Expanded parallel execution support with stronger GNU parallel integration and shell-worker fallbacks when GNU parallel is unavailable or unsuitable.
* Improved asset pre-compression so gzip generation for text assets is incremental and parallelized.
* Extended build CLI overrides, including --build-mode, --site-title, --site-description, --site-url, --author-name, --author-email, --posts-per-page, and the global --config workflow.
* Added RAM-mode tuning knobs and precompression tuning options in configuration and documentation.
* Reworked RSS, sitemap, index, tag, archive, author, and secondary-page generation as part of the pipeline overhaul, with better rebuild logic and cleaner generator boundaries.
* Improved related-post generation and cache invalidation so related-post output tracks changes more reliably.
* Added new themes: liquid-glass, freebsd, netbsd, openbsd, field-journal, microfiche, museum-label, and mynotes.
* Improved generate_theme_previews.sh with a faster default workflow that builds once, clones the output for each theme, swaps CSS, and rewrites SITE_URL references.
* Added --full-build to generate_theme_previews.sh as a slower fallback when per-theme full builds are preferred.
* Added support for Mastodon/fediverse creator metadata on posts via <meta name="fediverse:creator" ...>.
* Added fediverse_creator frontmatter support for posts, plus site-wide FEDIVERSE_CREATOR and exact-match per-author AUTHOR_FEDIVERSE_CREATORS configuration fallbacks.
* Added site-wide fediverse profile verification links via <link rel="me" ...>.
* Added REL_ME_URL for single-link verification and REL_ME_URLS=(...) for multiple rel="me" links, with deduplication when both are used.
* Updated the bundled header template with {{fediverse_creator_meta}} and {{rel_me_link}} placeholders.
* Updated the standalone browser editor and post scaffolding to support fediverse_creator.
* Improved the README and configuration examples to document RAM mode, performance tuning, new themes, fediverse creator metadata, and rel="me" verification.

Fixes
* Fixed og:title and twitter:title so they now use the page/post title only, instead of appending the site title.
* Fixed RAM-only builds when no pages exist.
* Hardened RAM-mode helpers and metadata parsing for empty inputs and page-list edge cases.

Upgrade Instructions
1. Update your checkout to the new release and review both config.sh and your config.sh.local for newly available options.
2. Decide which build mode you want. If you want the previous disk-backed behavior, set BUILD_MODE="normal" explicitly in config.sh.local. If you want the new memory-first path, keep or set BUILD_MODE="ram".
3. If you use custom templates, update your <head> template to include {{fediverse_creator_meta}} and {{rel_me_link}} inside <head>. The bundled templates/header.html already includes both.
4. If you want fediverse post attribution, optionally set FEDIVERSE_CREATOR, AUTHOR_FEDIVERSE_CREATORS, or add fediverse_creator: in post frontmatter.
5. If you want Mastodon or other fediverse profile verification, set REL_ME_URL or REL_ME_URLS in config.sh.local.
6. If you use generate_theme_previews.sh, note that it now defaults to a faster single-build clone workflow. Use --full-build if you specifically want one full build per theme.
7. Run a clean rebuild after upgrading:./bssg.sh build --force-rebuild --clean-output true
8. Verify the generated homepage, post pages, archives, tags, authors, RSS, sitemap, and any theme previews you publish.
9. No content migration is required. Existing posts and pages continue to work unchanged, and all new metadata/configuration is optional.

#BSSG

Spent some time looking at #BSSG today. If I weren't so invested in #Hugo I'd consider it. Still might try it on a simple site. The biggest downside I could see from the docs is it looks like BSSG only supports a single taxonomy ("tags"). My most active site uses four taxonomies, weighted to determine related posts. Also not a fan of markdown, but I've been developing web sites for ~30 years so I'm weird. I dream in HTML.

New blogpost (on new blog!):

# Moving my static site blog generator from hugo to BSSG

My notes on setting up BSSG, and migrating from hugo, along with copies of my config files, css, and customised header.

With many thanks to @stefano, for sharing his amazing site building tool with us.

https://neilzone.co.uk/2026/03/moving-my-static-site-blog-generator-from-hugo-to-bssg/

#Linux #SelfHosting #BSSG #hugo #blog

Moving my static site blog generator from hugo to BSSG

Notes on setting up BSSG, and migrating from hugo

Let's see how long it takes to build a static blog with ~500 posts, using #BSSG, on a Raspberry Pi 4, from scratch, using "normal" rather than "ram" mode :)

(Yes, I am using tmux...)

Actually, fewer posts that I had thought!

I now have a minimal theme, with dark mode support!

It is on a test URL, but if anyone fancies seeing what I'm doing with #BSSG (Bash Static Site Generator), here's where I am so far:

https://decoded.legal/blog/bssg/

Home

Updates from English Internet, telecoms, and tech law firm, decoded.legal

I've tweaked the template header, so that I have some fedi bits working the way that I want them.

Now for a bit of css tinkering, so that I can have a minimalist theme with dark mode support...

I'm not sure that I can suppress descriptions on the index page, but I will have a poke around.

#BSSG

Static site generator exploration continues.

Today I tried #BSSG and #Hugo for the first time. It's interesting how I have no problem with my massive homegrown complexities yet feel like a common ancestor basic mammal when confronted with other people's complexity.

I got frustrated.

Then I installed #11ty and immediately liked that it was less out-of-the box. So I can define my own structure. Which I then understand in return.

Next I'll watch tuts for 11ty and see if it really suits me.

@guyjantic

I'm a fan of Pelican. It's theoretically not as fast as Hugo, but it works well and is pretty simple to get going.

#BSSG, the Static Site Generator written in Bash by our very own @stefano, is also worth considering.

https://getpelican.com/
https://pelicanthemes.com/

https://bssg.dragas.net/

Pelican – A Python Static Site Generator

Pelican static site generator

Big update pushed for #BSSG - my Bash-based static site generator

This is a major pre-release update, not the official release yet, and I would really love some testing and feedback before cutting it.

Highlights:
* New build mode: BUILD_MODE="ram" / --build-mode ram
* This is a memory-first build mode designed to drastically reduce disk I/O during the build.
* On real projects, this results in a ~2× speedup, and in some cases well over 3× faster builds, depending on:

* site size
* number of generators involved
* storage speed
* parallelism available

In RAM mode you also get a stage timing summary, so you can see exactly where build time is spent. This makes performance tuning much more transparent and data-driven.

Under the hood:
The core build system was heavily refactored:
* Clear separation between orchestration, generators, and indexing
* Cleaner and more predictable generation flow for posts, pages, tags, authors, archives, and feeds
* Asset and theme handling moved into a dedicated build module
* Static file copying and theme CSS processing are no longer scattered around the codebase

Performance and robustness:
* Smarter rebuild and caching logic
* Improved parallel execution paths
* Uses parallel when available
* Shell-based worker fallback when it isn’t
* Parallel behavior is now more robust and easier to reason about

Stability and polish:
* Fixed an edge case with locale-specific timing parsing
* Configuration and documentation updated to match new options and tuning knobs
* Overall codebase is simpler, clearer, and easier to extend

Before tagging the official release, I need help testing this.

* Please test from the main branch or commit and report issues *

Links:
Repo: https://brew.bsd.cafe/stefano/BSSG

Huge thanks to everyone who tests, reports issues, or pokes at it.

This release comes from a lot of refactoring and profiling, and fresh eyes really help

#IT #SSG #Bash #OwnYourData

I'm testing the new BSSG test build. I've been working on it for a while to refactor the build process and move it entirely to RAM (optionally, for now).
On my OpenBSD Amsterdam VPS (single core, spinning drives), build times are cut down to less than a third of the last release, and on other devices it takes about half the time, with zero I/O.

The current caching system isn't exactly rock-solid, and personally, I prefer a faster full build over maintaining all that complexity.

I'll probably upload everything as soon as I've ironed out a couple of bugs, in the coming days.

#BSSG #SSG #Bash #StaticSiteGenerator