assemble-collections
v0.2.1
Published
Assemble plugin to add middleware and helpers for working with frontmatter based collections.
Downloads
17
Readme
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
.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 addingpreRender
middleware. Defaults to['md', 'hbs', 'html']
.config.collections
{Object}: Optional collections to look for in view frontmatter. Default collections arecategories
andtags
.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 toasc
.
Example
app.use(collections());
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}}
collection
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.