git-blog init
Finally. I’ve been meaning to create a blog for a very long time, and now I finally have. I can’t tell you why now is a better time than years ago, but I’m also not sure that it matters. It’s here now and the outcome is more important than the history.
What is git-blog?
When I set out to start a blog one of the goals I wanted to achieve was a sense of permanence. It has been bothering me for a long time how ephemeral web content has become, and while I think that the Internet Archive is a fantastic resource I also wanted to experiment with a more decentralized approach to content preservation.
Concretely that means that I wanted to create a CMS, which I did. Separately from my goals for preserving content history I also wanted to improve my competence with writing shell scripts. Bash script is an unlikely platform to use when building something like this (and I certainly wouldn’t recommend it), but it has been an insightful learning experience.
Decentralized? Archive?
At any point you can click the floppy disk in the footer of this blog to download a Git bundle which contains the complete (signed) history of all content. That includes changes to the template markup, scripts, and styling as well as edited changes to the post content itself.
You can use git clone to unpack the bundled repo, and by resetting to a previous commit and building locally with git-blog you can get a full facsimile of this website at any time in its history. The Internet Archive and Google Cache tools aren’t that comprehensive.
Should I use git-blog?
Probably not. There are better alternatives out there that are more widely supported (Jekyll, Hugo, and Astro among many others). I’m very happy for others to use this tool and to improve it, but ultimately I built it entirely for my own usage.
So, when will you post content?
Given how long of a road it’s taken just to get this first post live I may not have an aggressive cadence for new content. That being said, I’ve added an RSS feed and will also try to post updates to Bluesky if you’d like to follow me there.
Thanks for your support. -Alex