The Great Hexo Migration
After much more effort than I anticipated, I’ve finally moved my Blog off WordPress and onto my own website, using Hexo.
When I first started blogging 10 years ago, I didn’t select a specific blogging platform on its own merits. At the time, my writing habbits were quite different. I was working in the city and commuting each day, so I knew I’d be spending quite a bit of time on a train without network connection, writing my posts. Knowing I wouldn’t have a network connection, I needed a desktop application that I could write my posts in and an online platform to post to. In the end I chose BlogDesk as the desktop application and WordPress as the blogging platform, hosted on WordPress.com. I didn’t choose either of these for their own strengths, but for their combined features that allowed me to work the way I needed to work at the time.
Later on I found I needed more advanced features than BlogDesk had, so ended up using Windows Live Writer. In particular, updating the code blocks I often included in posts was quite time consuming and tedious. And then MarkDown broke onto the scene and I found it much nicer to write in, and ended up ditching the desktop application altogether.
All the while, there were certain aspects of WordPress I really wasn’t a fan of. The biggest of these was the advertisments that WordPress.com inserted into my posts. Now I can’t complain about this practice. After all, they gave me 10 years of “free” hosting for my blog (no such thing as a free lunch hey?).
While all this was going on, I also had my website (codeflood.net) sitting out there, running on a custom static site generator which was in need of an upgrade or replacement. And I really wanted to consolidate my web assets (2 to 1 is still a consolidation).
So came the task of choosing a new platform for my site and blog. It’s quite ironic, being I work for a CMS company, but I really wanted to continue to run my site static, using a static site generator. I don’t need a dynamic site or online editing tools, so a CMS for me is overkill. The right tool for the right job. When I created the first version of codeflood.net I don’t think the term “static site generator” had even been coined yet (yeah, I know it was close…it’s just an expression). But there is a paralysingly large number of options available now.
I had always had a liking for Jekyll but unfortunately Windows is not supported, and I’ll be doing most of my blogging from a Windows machine, so Jekyll was out. I tried out quite a number of different platforms across a variety of different technologies including things written in Rust (Cobalt), Go (Hugo) and node.js (Wintersmith and many others).
The platform I eventually chose was Hexo. I first learned of Hexo when our friend Kam Figgy migrated his blog over to it in 2015 (Blogging with Hexo - a Node.js detour). Funnily enough, I was turned off Hexo initially because I thought it was too heavy for what I wanted to do. I had read there was a large repository of plugins for Hexo and I didn’t think I needed any of those. But in the end, Hexo works the way I want to work. I didn’t want a primarily blogging platform that allowed an occassional page to be added. I wanted to be able to control the complete structure of my site without limitation on where I can put pages. And I wanted to be able to create my own “views” of my content.
Choosing the platform was only the beginning. Then it came time to migrate my content into Hexo. But that’s a topic for another day.