In a nutshell
This blog is powered by Pelican using pelican-bootstrap3 theme. It’s hosted on Github Pages. Content distribution and TLS encryption are powered by CloudFlare. In terms of cost, I had to pay only for the domain name registration. A template of this blog is provided here. Basically, you only need to install pelican and you should be able of getting the template up and running in a matter of minutes.
If you are interested in the alternative options considered when building this blog then please read on.
- Static or dynamic blog. This decision effectively means choosing between Wordpress and a Static Site Generator (SSG). I won’t delve into a detailed comparison here. Quick googling should give you a sufficient idea. Bottom line is that if you have a limited set of requirements - similar to my case - then I recommend going for a static website. Basically, it allows you to focus on your content and largely forget about issues related to maintenance, security, and performance.
- Choosing an SSG. There are plenty of SSGs around on staticgen. What ended up on my shortlist are Jekyll, Hugo, and Pelican. Jekyll is unquestionably the most popular and is the one endorsed by GitHub. Also, I read some nice things about Hugo particularly regarding its speed. However, I haven’t tried any of them, to be honest, and went directly for Pelican due to these reasons; First, it is written in Python. I’m learning Python already and this helps me have more consolidation around its ecosystem. Second, Pelican comes with native support for restructuredText which has several advantages over Markdown.
- Blog theme. Fortunately, Pelican has a lot of themes to choose from. I ended up choosing pelican-bootstrap3. This theme supports Booststrap (that is easy to guess!) and its corresponding bootswatch themes. Then, I customized my own bootswatch sub-theme which is named “formally” based on the Sandstone sub-theme. In this regard, I tried to follow some rules like the ones found here and here. These rules seem to summarize sensible wisdom.
Finally, in order to apply your own customization to the provided template, consider using Map to Network Resource which is a feature available in Chrome. This feature helps you iterate quickly and thus saves you a lot of time in the process