User:Tris Wilson/drafts/nanoc

= Done for now = Nanoc is a Ruby-based website compiler that generates static HTML. It supports compiling from various markup languages, including Markdown, Textile, and Haml. It can generate and lay out pages with a consistent look and feel. Nanoc is not a content management system, however it acts somewhat like one.

Features
Nanoc has many features.
 * Modular architecture
 * Generation of static pages
 * Security
 * Versionable source files

Differences from traditional content management systems
Although nanoc sometimes acts as a content management system (CMS), there are many differences.
 * Traditional CMSs must assemble the webpage every time a user requests it. Static HTML pages are pre-assembled and as such do not have to be re-assembled.
 * CMSs run using a server-side language, which exposes the CMS to all the vulnerabilities of the language. Since nanoc compiles websites to static HTML, the only vulnerabilities are that of the web server itself.
 * The content managed by a CMS can usually be changed at any time through a web interface. Since nanoc must recompile the website at every change, it is more difficult to modify a website.