top | item 4928389

(no title)

zmanji | 13 years ago

A serious alternative to Jekyll is Nanoc[1]. It is absurdly easy to compile any format to another format using a simple 'Rules' file. I for example have pandoc -> HTML with custom syntax highlighting and LaTeX -> pdf on my personal website [2]. Everything is customization and configurable so you can have your own conventions for posts, etc.

[1]: https://github.com/ddfreyne/nanoc [2]: https://github.com/zmanji/zameermanji.com

discuss

order

moe|13 years ago

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

plorkyeran|13 years ago

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.

akurilin|13 years ago

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?

cbhl|13 years ago

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.

telemachos|13 years ago

I'll second this. I switched from Jekyll to nanoc about a year and a half ago, and I'm very happy with it. I wrote a short piece about extending nanoc (to add categories) that people may find useful[1]. nanoc's own website has good introductory documentation[2], and the Github wiki also has good pages for examples[3] (sites that use nanoc) and samples4] (sites using nanoc with public source code).

[1]: http://ithaca.arpinum.org/2012/03/30/adding-categories.html

[2]: http://nanoc.stoneship.org/docs/

[3]: https://github.com/ddfreyne/nanoc/wiki/Showcase

[4]: https://github.com/ddfreyne/nanoc/wiki/Samples

akurilin|13 years ago

Ex-Jekyll and Octopress user, been very happy with nanoc as well here.

mrlase|13 years ago

Do these work with Github's hosted pages?