Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

nanoc is a web publishing system written in Ruby. This GitHub repository is a mirror of the original Mercurial repository at <http://projects.stoneship.org/hg/nanoc>.

branch: 2.1-ruby1.9

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 bin
Octocat-spinner-32 lib
Octocat-spinner-32 test
Octocat-spinner-32 vendor
Octocat-spinner-32 ChangeLog
Octocat-spinner-32 LICENSE
Octocat-spinner-32 README
Octocat-spinner-32 Rakefile
README
== Overview

nanoc is a simple but very flexible static site generator written in Ruby.
It operates on local files, and therefore does not run on the server. nanoc
"compiles" the local source files into HTML (usually), by evaluating eRuby,
Markdown, etc.

== Documentation

nanoc's web site, which can be found at http://nanoc.stoneship.org, contains a
few useful resources to help you get started with nanoc:

* The tutorial at http://nanoc.stoneship.org/help/tutorial
* The manual at http://nanoc.stoneship.org/help/manual

It is probably also worth checking out and perhaps subscribing to the
discussion groups:

* The discussion group in English at http://groups.google.com/group/nanoc
* The discussion group in Spanish at http://groups.google.com/group/nanoc-es

=== Source Code Documentation

The source code is structured in a few directories:

* *bin* contains the commandline tool aptly named +nanoc+
* *lib*
  * *nanoc*
    * *base* contains the bare essentials necessary for nanoc to function
    * *binary_filters* contains the standard binary filters
      (Nanoc::BinaryFilter subclasses) such as the thumbnail filter
    * *cli* contains the commandline interface
    * *data_sources* contains the standard data sources (Nanoc::DataSource
      subclasses), such as the filesystem data source
    * *helpers* contains helpers, which provide functionality some sites
      may find useful, such as the blogging and tagging helpers
    * *extra* contains stuff that is not needed by nanoc itself, but which may
      be used by helpers, data sources, filters or routers.
    * *filters* contains the standard filters (Nanoc::Filter subclasses) such
      as ERB, Markdown, Haml, ...
    * *routers* contains the standard routers (Nanoc::Router subclasses)
* *test* contains test fixtures as well as testing code, structured in the
  same way as lib/nanoc

The namespaces (modules) are organised like this:

* *Nanoc* is the namespace for everything nanoc-related (obviously). The
  classes in 'lib/nanoc/base' are part of this module (not Nanoc::Base which
  does not exist)
  * *BinaryFilters* contains the binary filters
  * *CLI* containing everything related to the commandline tool.
  * *DataSources* contains the data sources
  * *Helpers* contains the helpers
  * *Extra* contains useful stuff not needed by nanoc itself
  * *Filters* contains the (textual) filters
  * *Routers* contains the routers

The central class in nanoc is Nanoc::Site, so you should start there if you
want to explore nanoc from a technical perspective.

== Contributors

(In alphabetical order)

* Colin Barrett
* Dmitry Bilunov
* Šime Ramov
* "Soryu"
* Dennis Sutch

Special thanks to Ale Muñoz.

== Contact

You can reach me at <denis.defreyne@stoneship.org>.
Something went wrong with that request. Please try again.