It has been a long time since I had a personal blog. In the past when I needed a blog I turned to WordPress as my go-to blogging platform. I have a lot of experience with WordPress, building applications of various complexity, from simple blogs, to directory sites to online stores. I generally didn’t edit the PHP code, but I knew the plugin ecosystem and used it like a pro. To me, the greatest strength of WordPress has been its extensibility and making it do what you want it to do.
This time around my desire was to build a minimalist, text-mostly blog. I wanted my blog to have a clean, simple, but modern look. Additionally, I didn’t want to spend too much time mucking with the tech and instead I wanted to be able to write and publish posts.
So, I reached for what I knew, and put up a WordPress site with AWS Lightsail. Lightsail was cool, but as far as WordPress, it didn’t take very long for my frustration to begin. The core of WordPress has gotten incredibly complicated and bloated. I felt that I simply didn’t need 85% of the features that were in the platform. Also, WordPress for use in Lightsail is packaged with Bitnami which presents additional hurdles such as locked configuration files, and proprietary utilities.
Then there was the question of aesthetics. It seems that the majority of themes in the WordPress world are heavily oriented at marketers. I don’t care about SEO, Google Analytics, or landing pages. I went with a theme called Astra which I tried before that claims to be a minimalist theme, but I honestly just didn’t like the aesthetics of the resulting site.
Upon doing some research I learned about Jekyll. It’s a static site generation platform that allows you to write blog posts in Markdown and it will convert them into stylish static pages. Jekyll’s themes are text oriented, load fast, and are nice to look at. Additionally, hosting Jekyll sites is a breeze, you can simply upload them into S3 buckets. As an added bonus, I can store my site in Git.
Going the static site route removes the need for a database, user accounts and all sorts of other claptrap that I have no use for in a personal blog. Sounds like I found the ideal blogging CMS for me!
So, I installed Jekyll on my Mac with a few Homebrew commands and was off and running. A couple of days later I moved my blog writing environment to Windows so I could use VS Code to write my posts and manage the blog content. Installing Ruby on Windows seemed hopelessly complicated, so I went the Docker container route.
I will talk about details and deployment in Part 2.