125px

Nanoc

Well that was fast! I recently, as in 3 weeks ago, converted my site to run on Octopress. And I just got done switching it over to nanoc.

That’s not to say I didn’t like Octopress. I did. A lot. It’s pretty easy to setup and has a great looking theme. In fact, I’m still using a slightly modified version of that theme for the time being. For most people who just want a blog, I think Octopress is actually better. However, as I detailed in my post about moving to Octopress, I had some issues with ‘articles’ in Octopress:

While Octopress does have the ability to process non-blog posts known as pages, these pages lack some of the feature set that posts have.

The thing is, this site is split between a blog and more of a collection of articles. I like the idea of having my articles show up in the RSS feed, though it isn’t crucial, but I didn’t particularly want them living in the same directory as my blog posts. I also didn’t like how non-blog posts were second class citizens. Furthermore, I really didn’t like how Octopress stores all the blog posts in the _posts directory.

In this manner, nanoc is way more flexible. All posts are the same—the only thing that differentiates a blog post and a non-blog post is setting the kind: attribute to ‘article’. It also appears to be faster in compilation (not a bad thing).

However, it really needed a lot of features to be added. That’s not to say I did a lot of programming to get this site up and running. I ported over the Octopress theme to erb and then had to piece together the “blog” functionality from postings on the net. nanoc actually comes with most of the tools in place, but they aren’t in place by default. I also had to do a bit of work to generate the tags and archive indices (the bulk of the code courtesy of http://leafstorm.us/). Lastly, it doesn’t integrate as well with things like Compass—I had to run the Compass watcher alongside the nanoc watcher. However, this is all minor stuff, things that a few Rake tasks could take care of easily.

At some point, I’ll do a more detailed posting about what I did and maybe even try to package it up as a ‘starter kit’. After all, that’s all Octopress really is—a starter kit for Jekyll.