I’ve switched blogging platforms quite a few times over the years. I’ve tried everything from LiveJournal to Orchard and, for the last several years, WordPress. And for the most part, WordPress has severed me extremely well. It has a huge community with more plugins than you can through a stick at. It does, however, have its drawbacks; particularly it’s a rather sizable footprint and bloat.
For a while now I’ve been eyeing a move to a static page model. My site doesn’t require a lot of dynamic content and given that I’ve been writing in Markdown for several years already, my workflow wouldn’t have to change too much.
Switching also allows me to dramatically reduce my costs. By leveraging GitHub Pages I’m able to turn off the web and database servers required by WordPress. While not excessively expensive, it certainly isn’t free.
Behind the scenes, GitHub is using Jekyll which is a very popular static site generator. Jekyll handles most of the heavy lifting for me. I pass in my templates, my posts, and some settings and it spits out an entire site almost instantly. It is remarkably robust.
As an aside, Jekyll was actually what held me back for so long. It is notoriously tricky to get running on Windows and I wanted the ability to stage my site locally. So what changed? Bash baby, Bash! Jekyll is running happily on Windows 10 thanks to Windows Subsystem for Linux.
GitHub provides a number of built-in themes but none of them caught my eye. Jekyll has a number of themes available as gem packages but these are unfortunately not supported by GitHub.
Thankfully I found Start Bootstrap’s Clean Blog template that provided exactly what I needed; a minimalist foundation using Bootstrap that I could easily extend. After a few tweaks, I was up and running in no time.
The most notable difference? My page load times are improved by orders of magnitude!