Report abuse

Hi.

I'm happy to announce the final release of nanoc 3.0, the latest version of
nanoc, a web publishing system for small to medium-sized static or semi-static
web sites.

You can install it using Rubygems:

    sudo gem install nanoc3

If you are new to nanoc, I recommend checking out the tutorial[tut] and, if
you need more, the manual[man].

If you have used nanoc 2.x before, the tutorial[tut] is still a very good
resource. You'll definitely want to check out the migration guide[mig], and
perhaps the manual[man] as well.

[tut]: http://nanoc.stoneship.org/tutorial/
[man]: http://nanoc.stoneship.org/manual/
[mig]: http://nanoc.stoneship.org/migrating/

Compatibility with nanoc 2.x
----------------------------

nanoc 3.0 is not backward compatible with previous nanoc versions. This is
deliberate: focus on the future, leave the past behind. A nanoc 2.x site
cannot be compiled with nanoc 3.0.

Fortunately, nanoc 2.x and 3.0 can be installed side by side. The nanoc 2.x
commandline tool is called `nanoc` while the nanoc 3.0 one is called `nanoc3`;
similarly, the nanoc 2.x namespace is `Nanoc` and the nanoc 3.0 one is
`Nanoc3`. In other words, you can use both nanoc 2.x and 3.0 simultaneously.

New Features
------------

Here's a short list with the biggest additions to nanoc 3.0:

* Multiple data sources so you can load data from multiple locations–for
  example, Twitter, Delicious and Last.fm.

* Filter arguments so you can pass extra arguments when executing a filter.
  For example, you can now pass Haml options when executing filters, like
  this: filter :haml, :format => :html5.

* A more compact filesystem-based data source called filesystem_combined that
  doesn’t require tons of directories in the content and layout directories.
  Cleaner and less verbose.

* An all-new dependency tracking system that ensures that all modified items
  and their dependent items are recompiled when the site is compiled. This
  speeds up site compilation by preventing non-modified pages from being
  recompiled.

* A rules file which allows processing instructions (filtering pages, laying
  out pages) to be specified in a much more DRY way. In addition, the rules
  file is much more powerful than specifying processing instructions using
  item/layout attributes.

If you have questions, feel to drop by on the mailinglist[list] or the IRC
channel[irc]. On IRC, I'm not always around, but when I am, I'll be happy to
answer any questions you have.

[list]: http://groups.google.com/group/nanoc/
[irc]:  irc://chat.freenode.net/#nanoc

Regards,

Denis