bolha.us is one of the many independent Mastodon servers you can use to participate in the fediverse.
We're a Brazilian IT Community. We love IT/DevOps/Cloud, but we also love to talk about life, the universe, and more. | Nós somos uma comunidade de TI Brasileira, gostamos de Dev/DevOps/Cloud e mais!

Server stats:

255
active users

#bssg

25 posts10 participants0 posts today

I’ve just pushed the latest changes to the public repository.
In particular:

- Do not generate the "Tags" menu if there are no posts with tags (adapted by Tom's patch)

- Allow a custom pages/index.md (with slug "index") that will be shown as homepage. This allows to create a custom homepage for the website, without the "Latest Posts" list. (adapted by Tom's patch)

- Render automatically generated post excerpts (used when no explicit `description` is set in frontmatter) as HTML instead of raw markdown on list pages (index, tags, archives).

- Partial rewrite of the caching code, index generations, etc. Now only the modified tags and/or archives will be regenerated, speeding up the rebuild time.

- Many, many other bugfixes and improvements

Please, test it and let me know if you find any issues. A new release is just around the corner.

Ok, I've implemented a couple of patches to #BSSG 's dev repo (not publicly accessible). It also contains LOTS of performance improvements.

I'll probably merge it with the public repo later today or tomorrow.

Mmm parallel seem to have some troubles on NetBSD. Sometimes it's just stuck, doesn't start to process the task.
For now, when BSSG will detect it's running on NetBSD, it will use the slower but more reliable sequential build process

I just pushed to the BSSG production repo the optimized code for faster builds. I removed a lot of command concatenations (which kept iterating over posts, caches, etc.) and now uses a series of awk commands, which significantly improve the process. The results are exciting - I believe there's still room for improvement (especially with cache rebuilds: a change to a single post still triggers a rebuild of all indexes, RSS feeds, archives, etc.), but it's already performing well enough.

I haven't noticed any regressions, but I'm still considering the code to be in early-beta.

I'll keep testing and optimizing it a bit more before making a new release. In the meantime, as always, let me know if you run into any issues!

I've reviewed the #BSSG build process. It was old and pieces were added together year by year. So quite inefficient when the number of files is high.
The (full, uncached) build of my old Italian blog, 170 posts, was 84 seconds on my computer. Far too long.
I've changed some parts and have been able to bring it down to 22 seconds, without sacrificing anything. There are still tests to be done and some of the caching isn't working perfectly (it's always rebuilding tags, archives, RSS and sitemap - still, it's less than 12 seconds) but I think it can also become fast.

The last commit hasn't been pushed to the prod repo, and I'll fix the remaining things and test it. But I'm quite happy!

Good morning.
Thanks it is working as expected now! But it seems the REBUILD_AFTER_EDIT function afterwards is borken:

% ./scripts/edit.sh src/2025-04-16-trying-out-bssg.md                                                                                                                                     
Updating lastmod timestamp to 2025-04-16 08:54:43 -0500...
File saved: src/2025-04-16-trying-out-bssg.md
Rebuild skipped (REBUILD_AFTER_EDIT=false).
% grep REBUILD config.sh*
config.sh:REBUILD_AFTER_POST=true # Build site automatically after creating a new post (scripts/post.sh)
config.sh:REBUILD_AFTER_EDIT=true # Build site automatically after editing a post (scripts/edit.sh)
config.sh.local:REBUILD_AFTER_EDIT=true
If I do

REBUILD_AFTER_EDIT=true ./scripts/edit.sh src/2025-04-16-trying-out-bssg.md 
it works as expected as when I exit vim editor after changes in a post, #BSSG automatically rebuilds. I did not test this yesterday though since edit.sh was not working then.

i'm migrating my old Italian blog to #BSSG, but somewhere in the recent development, I must have introduced some performance regression. The tests I ran about 10 days ago generated a site with 200 posts in about 30 seconds on my Mac. Now, with 170 articles, it takes about a minute. I don't rule out that caching might speed up some parts while slowing down others. I need to try disabling it completely and see if it's worth it

playing around with #BSSG. It is much more mature than I expected and amazed me about what bare #Bash scripts are capable of. I am really considering migrate! But I am seeing an error with scripts/edit.sh:

sed: can't read s/^lastmod:.*/lastmod: 2025-04-15 21:21:19 -0500/: No such file or directory
Seems like #BSSG requires #BSD flavored #sed ? I am using #Debian so #GNU flavored #sed (GNU sed) 4.9

Ok, implemented 🙂
Command-line post creation via `./bssg.sh post` with options for title (`-t`), tags (`-T`), content (`-c`, `-f`, `--stdin`), slug (`-s`), format (`--html`), and drafts (`-d`).

This will be useful for a new feature I'm planning, but that I'll implement in the future. That's already in the main git repo.

Now another feature left and tomorrow will be the 0.12.0 day 🙂

I've just implemented (and pushed in main git repo) the generation of RSS feeds per tag - so people can follow their favourite tags without having to follow the whole blog. This can be configured in the config.sh.local.