Our great sponsors
-
eleventy 🕚⚡️
A simpler site generator. Transforms a directory of templates (of varying types) into HTML.
-
SurveyJS
Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
https://doublejosh.com/post/186193119278/metalsmithjs-is-sti...
Then two years ago I needed a more robust SSR system based on React, so I went with GatsbyJS. It's insanely mature and intuitive, but as we all know that community and business is now drying up too. But the framework is still great.
Now everyone sings the praises of NextJS, which can be used for SSR but is intended for applications and active server endpoints. But more complexity doesn't mean better.
I'm keen to try other simple frameworks when the result is a static site. I may give https://www.11ty.dev a shot.
For Swift there’s https://github.com/JohnSundell/Publish which is a framework to create a static site generator. It’s really good.
I wrote too (and still maintain) a SSG, it's a fun exercise: https://github.com/darccio/zas
Another option that I’ve found worthwhile is to write a Jekyll Plugin, so you get a stable base for your SSG, and you can experiment with adding weird functionality on top.
For my news website, I needed to scrape some news from a third party API, and I just moved it to a Jekyll plugin so it embeds neatly into the website. Works quite well: https://github.com/captn3m0/news
Another place where it made sense to use SQLite as a data source, I wrote a Jekyll SQLite plugin.
I built my own on top of org-mode: https://github.com/bastibe/org-static-blog
And also various others, for various reasons. The thing about static site generators is that they are fantastically easy.
I fully support the idea that writing your own SSG can be not only a great learning experience, but also a chance to make your SSG do exactly what you want it to (and nothing more).
I've written a ton of little SSGs over the years, and every iteration I've learned what kind of features I really need, and which I don't.
When I started working on the current version of my personal website (istigkeit.xyz), I also wrote a new SSG just for it. The program is called Hyphae[1], and it's written in Ruby using the Kramdown markdown gem, and pretty much nothing else outside the stdlib. It works perfectly for me, and that's all that matters (that being said, the code is up there, and licensed with the Unlicense, so anyone who finds it useful is free to use and abuse my clumsy code to whatever extent they want).
I'm a big proponent in the idea of writing personal software: that is, programs that are made by you, for you, and with no expectation that they'll be used by anyone else. I think too often developers these days get caught up in trying to make their project be "the next big thing" in whatever domain it serves, but honestly sometimes it's nice to just write something for yourself :)
[1]: https://gitlab.com/henrystanley/hyphae
I had the same idea as you and rewrote my blog CMS. Initially it was very similar to yours, with Maud [1].
Then I started a little library for replacing Maud, for a better developer experience [2] (still looking for a better name).
The important thing for me is having fun in the process, my personal website is a sandbox for playing and experimenting :)
[1] https://anto.pt/articles/rust-server-components
[2] https://github.com/Pitasi/rscx