Before this, I was using Ghost (the open-sourced version) as my blogging platform. At the time, the idea of having previews as you write was brilliant (and it still is). However, I soon felt restricted about the things I could present, since adding there was no way of adding scripts and snippets to blog posts.
For the past few months, I have been working on a new blog that could support my favourite way of writing posts. Interactive posts are the most fun to write, and also challenging to make.
Many other platforms I’ve used too had trouble with supporting code blocks that run. A static site builder generates both the theme and the content at the same time, so it’s extensible enough to make interactive posts without feeling like I’m hacking the system.
Not just minimal
Even though the site is compiled using a static site generator, it does not have to be bare-bones minimal.
Lots of addons
On top of the starter theme, I’ve added Bootstrap, Font Awesome, jQuery, multiple iterations of a library to generate backgrounds, my custom sidebar, and a nice contact form. It is just enough to get started.
SSL with Let’s Encrypt
SSL certificates provided by Let’s Encrypt. Using the Nginx plugin for Certbot, and setting up a Cron job for automatic renewals means no downtime when renewing SSL certificates.
CI with Jenkins
A Jenkins CI server builds the website and deploys to production when commits are pushed.
Hosted on Digital Ocean
Finally, if anyone wonders, this site is hosted on an Ubuntu VPS using Nginx.
The contact form requires a backend, so a server is still needed. Gocontact (I wrote this) runs the contact form using reCaptcha.