Hacker News new | past | comments | ask | show | jobs | submit login

I have to strongly advise against nanoc and recommend middleman[1] instead.

The problems with nanoc unfortunately only become apparent after you've invested significantly into it and your site starts to grow in complexity and/or size (file-count). I've been there and it wasn't fun at all...

The first problem is the obscure Rules DSL. It feels somewhat elegant in the beginning when you're mostly working of the canned examples. But once you divert from the beaten paths it quickly turns into a hairy mess and you find yourself with a >300 lines rules file, various workarounds tacked into the 'preprocess'-block, a conglomerate of "filters" and "helpers", and a rapidly fading memory of "How did all this fit together again?".

The second problem is performance. If your site contains auto-generated parts (e.g. API-docs) then the number of files may quickly grow into the thousands. Nanoc doesn't cope well at such sizes. In the end the compile-phase took 10 minutes(!) for my ~9k file-project on a beefy machine.

That said, nanoc is okay for smallish projects, just beware the constraints.

Middleman has been a more pleasant experience here (after the porting pains). It's a much more straightforward design. I can come back to it after a month or two and be immediately productive again. With nanoc this always involved a lot of pain re-learning the Rules-magic and interdependencies...

[1] http://middlemanapp.com

I haven't used nanoc much, but I will second the recommendation for middleman. My experience with middleman is that it's one of the rare things that makes simple things easy while scaling well to not-so-simple things. Creating a basic site with a few static pages that share a template is completely painless, and because it's based on Sinatra it's pretty straightforward to use things built for that or Rails when you need to do something not built into middleman.

I've experienced some quirks with nanoc as well, although my site is ultimately simple enough that I don't have to mess with Rules that much. I'd still be interested to try it out. How painful was porting nanoc to middleman?

Do you have any resources for anyone who is porting from jekyll/octopress/nanoc to middleman? Even a short post describing particular porting pains you ran into and how you mitigated them would be great.

Well, I started by first cobbling together a basic middleman "hello world" app and then fleshing it out until I met my legacy app in the middle. There wasn't much straight porting from nanoc (apart from the HTML, JS and CSS) since the ruby-logic doesn't quite translate between the two.

I'd recommend to look at the "community templates" (linked from the MM-site). The "HTML5 Boilerplate"-template had nearly everything covered that I was interested in (I only swapped out 'suzy' for 'less') and since MM is such a simple design it really only took a few hours to feel at home.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact