Dave Kennedy (@bangline_) was talking about Assemble at Scotland.js, these are my notes from his talk.
Assemble is a grunt plugin for building static sites. Static sites are "The simplest thing that works!" for getting content out there and they scale crazily well. However, no dynamic elements.
As simple as possible, but no simpler.
Assemble wasn't created for static sites, it was designed to create components that can be used by everyone on a project.
npm install grunt --save-dev
npm install assemble --save-dev
There's no defined project structure. Uses handlebars as a templating engine. Assemble is good at knowing what context it is using: page, partial etc. Can define data that can be used project wide and each page can define a set of variables for use in that context.
Assemble does a lot of work under the hood - it's not simple but it's simple to use.
Very well suited to building documentation.
As of v0.5.0 it's now a node module so you don't need to use grunt anymore.