Visit http://assemble.io. Assemble is a full-featured documentation, site and component generator built on Grunt.js.
This plugin requires Grunt ~0.4.1
If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:
npm install assemble --save-dev
Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:
grunt.loadNpmTasks('assemble');
Run this task with the grunt assemble command.
Task targets, files and options may be specified according to the grunt Configuring tasks guide.
In your project's Gruntfile, add a section named assemble to the data object passed into grunt.initConfig().
assemble: {
options: {
assets: 'assets',
partials: ['docs/includes/**/*.hbs'],
data: ['docs/data/**/*.{json,yml}']
},
pages: {
src: ['docs/*.hbs'],
dest: './'
}
},
See the documentation for Options for more information.
Type: String
Default: undefined
Used with the {{assets}} variable to resolve the relative path from the dest file to the assets folder.
Type: Object|Array
Default: src/data
Specify the data to supply to your templates. Data may be formatted in JSON, YAML or YAML front matter.
Type: String
Default: undefined
The directory to use as the "cwd" for layouts. When this option is defined, layouts may be defined using only the name of the layout.
Type: String
Default: undefined
If set, this defines the layout file to use for the task or target. However, when specifying a layout, unlike Jekyll, Assemble requires a file extension since you are not limited to using a single file type.
Type: Object|Array
Default: undefined
Specifies the Handlebars partials files, or paths to the directories of files to be used.
Type: Object|Array
Default: handlebars-helpers
Path to the custom helper or helpers to use with the current template engine.
Assemble includes handlebars-helpers as a dependency, so any helpers from that library may be used in your templates.
Type: String
Default: .html
Specify the file extension for destination files. Example:
Type: Object
Default: Marked.js defaults
Specify the Marked.js options to use when converting from markdown to HTML.
Type: String
Default: Handlebars
Specify the engine to use for compiling templates. Handlebars is the default.
Type: Boolean
Default: false
Remove anything after (and including) the first "." in the destination path, then append this value. In other words, when files are generated from different source folders this "flattens" them into the same destination directory. See building the files object dynamically for more information on files formats.
Visit Assemble's documentation for more information about options.
Simple example of using data files in both .json and .yml format to build Handlebars templates.
assemble: {
options: {
data: 'src/data/**/*.{json,yml}'
},
docs: {
files: {
'dist/': ['src/templates/**/*.hbs']
}
}
}
assemble: {
options: {
assets: 'assets',
layoutdir: 'docs/layouts'
partials: ['docs/includes/**/*.hbs'],
data: ['docs/data/**/*.{json,yml}']
},
site: {
options: {
layout: 'default.hbs'
},
src: ['templates/site/*.hbs'],
dest: './'
},
blog: {
options: {
layout: 'blog-layout.hbs'
},
src: ['templates/blog/*.hbs'],
dest: 'articles/'
},
docs: {
options: {
layout: 'docs-layout.hbs'
},
src: ['templates/docs/*.hbs'],
dest: 'docs/'
}
},
Visit Assemble's documentation for many more examples and pointers on getting started.
Project authored by Jon Schlinkert.
This file was generated on Wed Jul 31 2013 16:28:53.
See the template for this page →
Find an error? Let us know →