Assemble plugin to add middleware and helpers for working with frontmatter based collections.
npm install assemble-collections> Assemble plugin to add middleware and helpers for working with frontmatter based collections.
Install with npm:
``sh`
$ npm install assemble-collections --save
WARNING
> This library has changed to be an assemble plugin as of version 0.2.0.
`js`
var collections = require('assemble-collections');
var app.use(collections());
Add middleware to gather collections from frontmatter and provide helpers for working with collections, collection groups, and views in collection groups.
Params
* config {Object}: Configuration object for setting up frontmatter collections.config.exts
* {Array}: Array of extensions to use when adding preRender middleware. Defaults to ['md', 'hbs', 'html'].config.collections
* {Object}: Optional collections to look for in view frontmatter. Default collections are categories and tags.config.collections.${key}
* {Object}: Individual collection configuration.config.collections.${key}.inflection
* {String}: Singular version of collection key: e.g. categories: { inflection: 'category' }config.collections.${key}.sortOrder
* {String}: Default sort direction of views in each collection. Defaults to asc.
Example
`js`
app.use(collections());
Helper to iterate or return an array of frontmatter collection keys.
Example
`handlebars
{{! use as a block helper }}
{{#collections}}
{{this.name}}
{{/collections}}
{{! use as a subexpression }}
{{#each (collections)}}
{{this.name}}
{{/each}}
`
Helper to return the collection instance or iterate over each collection item in the collection.
Example
`handlebars
{{! use as a block helper }}
{{#collection "categories"}}
{{category}}
{{#each items}}
{{/each}}
{{/collection}}
{{! use as a subexpression }}
{{#each (collection "categories")}}
{{category}}
Contributing
Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.
Building docs
Generate readme and API documentation with verb:
`sh
$ npm install verb && npm run docs
`Or, if verb is installed globally:
`sh
$ verb
`Running tests
Install dev dependencies:
`sh
$ npm install -d && npm test
``Brian Woodward
verb © 2016, Brian Woodward.
Released under the MIT license.
*
_This file was generated by verb, v0.9.0, on April 20, 2016._