node package manager




This plugin requires Grunt ~0.4.0

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 chains-pages --save-dev

Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:


Pages task

Run this task with the grunt pages command.


pages: {
  options: {
    partials: ['include/*'],
    template: 'layout/template.hogan',
    context: function(src, dest){
      return {title: 'Hello World!'};
    engine: 'hogan'
  test: {
    files: [
        expand: true,
        cwd: 'content/',
        src: ['*'],
        dest: 'out/'



Type: String|Array

This plugin supports use of the files API introduced in Grunt 0.4.0. Files may be specified using any one of the Compact Format, Files Objects Format, or Files Array Format (as in the above example).


Type: String

This defines which tepmlate to use when precessing files.


Type: String|Array

This defines which partials to use in the template option. It accepts either comma separated globbing patterns or an array of globbing patterns.Paths matching patterns that begin with ! will be excluded from the returned array.Patterns are processed in order, so inclusion and exclusion order is significant. Refer grunt.file.expand


Type: String

This option accecpts all template engine names that consolidate.js supports. Refer consolidate.js. Default is hogan.


Type: Function|Object

This defines extra Context when render templates. It will add a partials property and a content property. So, in your template you can use content to output the content specified in files.src. If defined it as a Function, you must return an Object with all properties accessed in your template.