I’m happy to announce the final release of nanoc 3.0, the latest
version of nanoc, a web publishing tool aimed at small to medium-sized
static or semi-static web sites.
You can install it using Rubygems:
sudo gem install nanoc3
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
nanoc3; similarly, the nanoc 2.x namespace is
the nanoc 3.0 one is
Nanoc3. In other words, you can easily use both
nanoc 2.x and 3.0 simultaneously.
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.