So I developed a blog
So I finally got around to start a blog. Not only did I start a blog, I also developed it from scratch. My general plans with this site is to publish articles about anything related to software.
The first thing I did was to search the web for a nice open source blogging platform. After a bit of searching I figured it could be a fun task to write my own static site generator based on markdown, and so here we are.
Why develop a blog from scratch?¶
I have found that there are quite a few benefits to this approach:
A fine level of control lets me choose what I want to do with this site long-term. At some point I might want to extend this site so that it also serves as my “main” website where I now just have a collection of links.
Extensible markdown integration lets me write my articles in my favorite editor. It is rather easy to find a library to convert markdown to HTML. While I do not have fine grained control over the markdown library I chose to use, I still have good control over how it is post-processed. For instance, the byline at the top of this article is automatically generated by the static site generator I wrote. It gets the time and date from a hidden code block in this document that gets removed in post. Off the top of my head I can think of elements like footnotes, iframes, and diagrams that I would be interested in integrating into the markup.
Version control gives me not just a history of the site itself, but also of the documents. Readers will be able to submit changes via pull requests and perhaps even new articles altogether. GitHub also serves as a convenient backup of my writings.
No moving parts like JavaScript or a backend makes this thing very cheap and easy to host and maintain. I can host this on Netlify‘s CDN for free and just have their build servers run my site generator for each git push.
The source code for this site is available on GitHub under the MIT license.