From Octopress to Hexo

Behold! Fuzzy Tolerance has moved from Octopress to Hexo.

It seems like yesterday I moved this blog from Wordpress to Octopress (it was more like a year and a half ago). Static site generators are ideal for stuff like blogs where there’s often a single editor and old posts are rarely updated, and at the time I switched Octopress was the new hotness.

The world has changed since then. Word has it that the project isn’t dead, but the Octopress main page hasn’t had an update since 2011-07-23. It’s also pretty slow. Generating my site with ~600 posts takes about a full minute. That doesn’t sound like a lot, but there’s nothing as unpleasant as writing a post, generating for a minute, checking it out and finding a typo, generating for another minute, finding another typo, ad nauseum. That’s the kind of friction that’ll keep you from writing.

I’ve been getting into Nodejs lately, and there are a number of static site generators written in it. I have had my eye on Hexo for a while, and I finally got around to really fiddling with it after realizing my new Manjaro rig didn’t have ruby installed by default and I didn’t feel like setting up a new Octopress environment. Hexo is really easy to work with, and my generate time went down to ~10 seconds (launching a preview server is ~2 seconds). Now my process for a new post is:

1
2
3
4
5
6
# make the post
hexo new post "Blah blah blah"
# check it out
hexo server
# deploy
hexo generate --deploy

Bob’s your uncle. My _config.yaml has some rsync instructions to move anything that changed up to my host (NFSN). NFSN is usage-based and my monthly bill is usually ~$1.00.

I’m using a tweaked out version of the casper theme. So far, Hexo is pretty awesome.

Edit: Pro tip - if you are monkeying about with different Hexo themes, make sure you delete the db.json file in the root folder before you generate/deploy. I’m not sure what that thing is, but some theme garbage can get jammed up in there and it won’t show up running hexo server but it will maddeningly appear when you generate the site.