In re-creating this blog I researched what tools are available that can be used to re-create my old blog and to host it online. The first step of my research took me back to Wordpress, the tool I used when I previously ran this blog and with which I had a pleasant experience installing Wordpress and its associated requirements (MySQL DB, PHP, etc.).
As with my previous experience the process to setup a local development environment for Wordpress was simple, even more so when I used a Docker image. I quickly discovered that Wordpress was not going to be the solution I was seeking - the ability to customize the look and feel of the blog within Wordpress had become more complex and limited in scope in comparison to the version of Wordpress I used in 2014.
The next stage of my research was to look for an alternative to Wordpress which I found very quickly in the form of Ghost thanks to a video published by Linode that was recorded by TechHut. Ghost seemed to offer a similar experience to Wordpress both in terms of an easy installation process and providing a user-friendly content management system (CMS) to manage the blog. As I began to use Ghost I began to appreciate how simple the interface was to create posts and that included some amazing features that are built-in, such as the ability to have a paid tier for articles that are available to paid subscribers. All in all it was not a bad experience, however there were some difficulties encountered when trying to customize the blog, some of the challenges were related to the editor, which seemed text-focused as it made adding HTML or CSS a little cumbersome, with other issues relating to customizing the theme and adding custom fonts.
After the mostly positive experiences with Ghost I wasn’t entirely sure whether to just stick with it and live with the issues or to try something else. In the next stages of my research I had re-discovered static website generators which I had first heard of thanks to Casey Liss, a host of the excellent Accidental Tech Podcast. In addition to first learning about these tools via Casey, he also created his own custom blog engine called Camel.
You might ask yourself - What is a static website generator?, a static website generator, in simple terms, is a tool that will take a related collection of Markdown files, CSS files, and other files to create a website. By using this tool to create a blog I eliminate the need for a database and other server resources leading to lightning-fast load times.
As previously highlighted, one significant challenge I encountered with both WordPress and Ghost were the limitations in customizing the blog’s appearance and behaviour. By using a static website generator, I gained more granular control over the site’s look and feel, allowing me to easily edit and fine-tune the design of my blog.
In researching the different static website generators I had come across the following options:
I tried the first five of these tools and had some decent success in setting up a development environment tailored to my particular workflow and was able to easily customize the look and feel of the site, while also creating content, with the exception of Camel which I unable to successfully install in my work environment.
I was interested in taking a look at Octopress as according to its description it is supposed to use Jekyll as a basis to generated a blog - the unfortunate thing is that it appears as though Octopress has effectively been abandoned as it last received an update 8 years ago with its last actual version being released on July 27, 2015.
After experimenting with different platforms, I found the most success I was encountering was with Hugo and Jekyll, ultimately choosing Hugo as it was the newer tool, to build my current site.
The process with Hugo, once it is setup is very simple - once you have created all your content you navigate to your blog’s main folder and using the Terminal run the command: hugo which builds the website’s entire contents into a public folder whose contents you can then upload to your website.
These static site generators have proven to be versatile and efficient tools for my blogging needs and I look forward to continue using them.
Markdown is a markup language developed by John Gruber of the Daring Fireball and The Talk Show. It is a markup language used for creating formatted text which in turn can be easily converted into HTML. ↩︎
There are a lot of Markdown editors out there, however I found GTW - Markdown & Text Editor from Christoph Gogolin to the overall best option as it does not require a subscription and has built-in FTP/SFTP access which fit my particular development environment. ↩︎
I had heard of Octopress before when I originally wrote my blog, it appears to be a framework that is specifically designed to leverage Jekyll to generate a blog. ↩︎