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

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




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.


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


I love nanoc too, and use it for the GitHub API docs: https://github.com/github/developer.github.com. The fact that it can use ERB templates removes it as a candidate for GitHub Pages, unfortunately. I have a fun rake task to push static HTML to a gh-pages branch: https://github.com/github/developer.github.com/blob/master/R...


Hyde is another alternative (which I use for my website), particularly for those who like Python over Ruby.

http://ringce.com/hyde

https://github.com/hyde/hyde


I'd recommend Pelican over Hyde. It's Python, has great documentation and is actively developed.

http://getpelican.com/

https://github.com/getpelican/pelican


Indeed, pelican is amazing.


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


Do these work with Github's hosted pages?




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

Search: