Coming up on this episode of Ad Hoc, I'll talk about blog hosting my discovery of static site generators and recommend my favorite for you to consider. Stay tuned.
Welcome to Ad Hoc. My personal journal, where I dive into new and nerdy projects and product reviews. I'm your host, John Federico. For the text version of these episodes and all the included links visit gadgetboy.org
In my perpetual quest to learn something new and interesting, I gave my blog a complete overhaul. For years, I self- hosted it on WordPress using Dreamhost. That was a huge pain in the ass, primarily because, at the time, it was difficult to lock down WordPress and protect it from getting hacked. Coupled with things like mySQL and PHP updates and stuff was breaking all the time. I spent more time tweaking the software than actually writing.
I moved it to Squarespace where it ran for a long time, without any issues until December, 2018, when I made a DNS change and basically blew everything up. Squarespace support was of no help in fixing the issue. So I decided to move it to a basic Wordpress.com account using their Squarespace import tool.
Wordpress.com is great. A fully managed personal blog is $4 a month if you don't like the traditional WordPress dashboard, which a lot of people don't, the new management interface is attractive and it's really easy to use.
Where it started to get annoying was when I wanted to do simple things like customize my CSS or add a Google Analytics tracking tag, and found that a Personal plan doesn't allow for that. You have to upgrade to a Premium plan. Look, I get it. It's SaaS and they have to price it properly to incentivize people to move up to plans with a higher average revenue per user.
But I also know that some of these things are trivial to enable and it just feels unnecessarily restrictive. So during my holiday staycation, I began to explore static site generators.
Static sites are incredibly fast because there's no server side processing of webpages. The web server simply delivers a pre-built file. More importantly, there's no Content Management System running code. So the attack vectors are, generally speaking, only the operating system and the web server and not some insecure WordPress plugin.
I was reading a lot of Home Assistant docs. That's another one of my staycation projects that you'll hear more about. I noticed that they were using Jekyll. So I decided to give it a try. I liked the simplicity of page generation using plain text files, mark down and YAML and I found a well-regarded Python script to import WordPress posts, so I can migrate my current content to static files. After some fiddling around with the configuration, the import script worked great, but I was unable to figure out why I couldn't get any theme other than the default Jekyll theme to work.
I finally ran out of tinker time and had to go back to the office after the holiday break. A few weeks later, I started exploring other options.