0.2.1 • Published 8 years ago

assemble-collections v0.2.1

Weekly downloads
115
License
MIT
Repository
github
Last release
8 years ago

assemble-collections NPM version Build Status

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 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());

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.

0.2.1

8 years ago

0.2.0

8 years ago

0.1.9

10 years ago

0.1.8

10 years ago

0.1.7

10 years ago

0.1.6

10 years ago

0.1.5

10 years ago

0.1.4

10 years ago

0.1.3

10 years ago

0.1.2

10 years ago

0.1.1

10 years ago

0.1.0

10 years ago