KBlog Is Now Open Source
2024-02-21
A little over a year ago, while on sabbatical, I launched this blog. Inspired by a co-worker, I decided to write my own static site generator as part of the blog's creation. It was also a fun opportunity to practice some more Rust.
Initially, the source code for the generator as well as the content of blog itself were all hosted in a single git repository. At the time, keeping them together made it easy to iterate quickly on both content and how that content was then rendered to HTML. I kept the repository private since it contains unfinished drafts and (because it's git) previous drafts of published content, neither of which I want to share publicly1.
Since then, I've had the growing desire to share the code that generates the blog. After meditating a bit on how I wanted to tease these code and content apart, I've landed on something with which I'm happy. The content (and, unfortunately, most of the git history of everything up until a few days ago), will stay in my aforementioned private repository. But all future development of the static site generator will now occur in the public KBlog repository.
I don't really expect anyone else to actually use my generator. But it's nice to be able to finally share the code. It'll force me to think a little more about how I can make the generator a little more robust, a little more generic. I've already added some features that weren't strictly necessary for my needs, but made the generator usable by a hypothetical, "other" user.
If you have any feedback for me, feel free to open Github issues. I'd love to hear your thoughts.
Footnotes
1 The astute reader will note that KBlog actually generates html for drafts and puts them in the gen
directory.
This means that if you're simply exposing your gen
directory, your drafts will be exposed too.
This is intentional.
It allows me to share out early drafts for feedback while still keeping them semi-private.
You need to know the exact draft Slug in order to find the draft since the homepage does not contain any links to drafts.