Blogging with GitHub Pages & Jekyll

Combination of GitHub Pages (free) and Jekyll (free) for static site generation is for me the long sought-after answer to a question “How to best publish my thoughts online, in a blog form?”. Where “best” represents the blurry mix of the desires to avoid lock-in to walled gardens of the likes of Google, Facebook or LinkedIn, the need to control and own my content (but at the same time not to spend more effort in keeping the system up and running than using it) – and finally, not overcooking it.

In other words, I was looking for easy to use, lightweight, trusted way of publishing online that is secure and robust. After several attempts from different angles (self-hosted WordPress, Google Blogger on my own domain, manual static site generation, Tumblr and few others), I landed with GitHub Pages + Jekyll combo.

Why? GitHub is still a 3rd party hosting and managing my content, owned by Microsoft right now, so it seemingly violates one of my key concerns. However, the way I see it, if something goes wrong with GitHub, the community actually using it for software development will spot it fast, be loud – and any issues, intentional or accidental, will have much bigger impact worldwide on the IT scene, than one personal blog. Risk worth taking. Other than that, it is robust enough (especially in combination with Cloudflare for domain management), supports my own domain, gives me enough space and flexibility for free and is deeply integrated with Jekyll. Why this integration matters? Because even though Jekyll is not exactly a WYSIWYG editor like WordPress, it works just fine with me from user standpoint – and as I literally look just for a way how to post static non-interactive content, it is the right tool for the job. It allows me to avoid any database management, which reduces complexity and increases security and reliability.

As both GitHub Pages and Jekyll were new to me, it took me several hours to place everything together. In the end, the easiest way was to follow the article from Barry Clark and utilizing his prepared Jekyll Now template. This site is built on his guide – forked, updated, put to production. Thanks for that, Barry.

Written on August 18, 2019