assemble-collections

Assemble plugin to add middleware and helpers for working with frontmatter based collections.
Install
Install with npm:
$ npm install assemble-collections --save
WARNING
This library has changed to be an assemble plugin as of version 0.2.0.
Usage
var collections = require('assemble-collections');
var app.use(collections());
API
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
app.use(collections());
Helper to iterate or return an array of frontmatter collection keys.
Example
{{! 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
{{! use as a block helper }}
{{#collection "categories"}}
<span>{{category}}</span>
<ul>
{{#each items}}
<li>{{name}}</li>
{{/each}}
</ul>
{{/collection}}
{{! use as a subexpression }}
{{#each (collection "categories")}}
<span>{{category}}</span>
<ul>
{{#each items}}
<li>{{name}}</li>
{{/each}}
</ul>
{{/each}}
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:
$ npm install verb && npm run docs
Or, if verb is installed globally:
$ verb
Running tests
Install dev dependencies:
$ npm install -d && npm test
Author
Brian Woodward
License
verb © 2016, Brian Woodward.
Released under the MIT license.
This file was generated by verb, v0.9.0, on April 20, 2016.