[ANN] nanoc 3.2, a DRY static web site generator

Hi all,

After a long wait, nanoc 3.2 has been released. Major new points in this
release include speed improvements, custom commands and a handful of new
and updated filters. You can find the full release notes at 1.

nanoc is a powerful tool for generating static websites in a DRY way. It
supports Markdown, Textile, Haml and many more formats. It has support
for static assets, incremental compilation, custom filters and helpers,
and more. For details, check out the nanoc website at
http://nanoc.stoneship.org/.

UPDATING

To update or install nanoc, simply

gem install nanoc

(You may have to prefix this with “sudo”.)

SUPPORT

If you have any questions, be sure to ask them on the mailinglist at
2. If you encounter issues, please do report them at 3—thanks! You
can also find me (and others) on the #nanoc IRC channel on Freenode.

If you like nanoc or use it in a professional project, consider giving a
token of appreciation by making a donation at
http://www.pledgie.com/campaigns/9282. Many thanks in advance!

Enjoy!

Denis

Just installed on Win7 running ruby 1.9.4dev (2011-07-22 trunk 32630) [i386-mingw32] with

C:\Users\Jon\Documents\WebDev>gem install nanoc

Successfully installed cri-2.0.2
Successfully installed nanoc3-3.2.0
Successfully installed nanoc-3.2.0
3 gems installed

Looks interesting and I’ve briefly skimmed the helpful doco at
http://nanoc.stoneship.org/docs/

  1. Although there’s comments in the code highlighting component with
    coderay being the default

nanoc/lib/nanoc/filters/colorize_syntax.rb at master · denisdefreyne/nanoc · GitHub

I didn’t find any info in the docs. A summary in the doco showing usage
examples and how to switch between the highlighters would be nice for
those not wanting to code spelunk.

  1. I’m investigating if/how it works on Windows and am
    concerned about highlighting, especially when trying to call out to
    pygmentize. As background, when Jekyll 0.10.0 had pygmentize support
    via integrated Albino, I contributed

jekyll/lib/jekyll/albino.rb at v0.10.0 · jekyll/jekyll · GitHub

to get highlighting to work when running on Windows. Jekyll 0.11.0 has
refactored a bit, and highlighting when running locally on Windows has
stopped working until this is resolved

Spawn::Child fails on win32 + 1.9.2 · Issue #17 · rtomayko/posix-spawn · GitHub

  1. Briefly, what do you think are the benefits of nanoc3 over Jekyll?
    BTW, I do like the all-Ruby-solution-using-coderay-to-highlight if it
    actually works on Windows :wink:

Jon


blog: http://jonforums.github.com/
twitter: @jonforums

“Anyone who can only think of one way to spell a word obviously lacks
imagination.” - Mark Twain

Hi,

  1. About the colorize_syntax filter documentation (and others):

The documentation for the various filters can be found in the API
documentation section. For example, the colorize_syntax filter is
documented at
http://nanoc.stoneship.org/docs/api/3.2/Nanoc3/Filters/ColorizeSyntax.html.

It is linked to from the manual, too. Go to the Filters section, then
click on the colorize_syntax link, and you’ll end up in the same page.

  1. About getting pygmentize (and calls to other executables) to work on
    Windows:

For nanoc 3.2 I am using systemu
(File: README — Documentation for systemu (2.6.5)) which should work on all
platforms. Several people use nanoc on Windows, so Windows is a
supported platform which means that if you find issues, do report them!

  1. About the benefits of nanoc over Jekyll:

I have not used Jekyll myself (nanoc has been around for longer than
Jekyll) so I can only do a comparison based on what other people tell
me. (This may not be 100% accurate, so by all means correct me if I am
wrong!)

Jekyll focuses on simplicity. It was created to power GitHub pages, and
since Jekyll sites are compiled on the GitHub servers, their
functionality needs to be restricted (which means, for example, that you
cannot use ERB).

nanoc, on the other hand, focuses on maximum flexibility. You can build
unusual layouts fairly easily, and it is possible to extend nanoc with
custom filters, helpers and more.

Jekyll and nanoc can coexist. GitHub uses nanoc for their developers
section (http://developer.github.com/) even though Jekyll originated at
GitHub. The choice between nanoc and Jekyll depends on how much power
you need, but it is definitely also a matter of taste.

I hope this has been helpful!

Cheers,

Denis