assemble-collection
v0.1.2
Published
Assemble plugin for creating paginated lists of files using file front matter.
Downloads
8
Readme
assemble-collection
Assemble plugin for creating paginated lists of files using file front matter.
Install
Install with npm:
$ npm install --save assemble-collection
Usage
var assemble = require('assemble');
var collection = require('assemble-collection');
var app = assemble();
app.use(collection());
API
createIndex
Creates a pipeline plugin that will group files into a collection based on the data property specified directly or in the permalink pattern passed on options
.
List and item index pages will also be created for the entire list of items being grouped and for each individual item.
The item pages will contain all of the files found in that item group.
Custom list and item page templates may be specified by passing a view
on options.list
and options.item
.
The item pages may be paginated by passing an options.paginate
property with paginationator options.
Params
prop
{String}: Proprty to use when creating the index. This should be on the.data
object. Theprop
will be pulled from the permalink pattern if not passed andoptions.pattern
is passed.options
{Object}: Options to control how list and item pages are created, how pagination is handled, and how thefile.path
is created on new files.options.pattern
{String}: Permalink pattern to use for item pages. Whenprop
is not passed, the first:prop
segment will be used.options.paginate
{Object}: Options to pass to paginationator to control how item page pagination is handled.options.list
{Object}: View instance used to create a newlist
page containing the grouped items and files built from theprop
.options.item
{Object}: View instance used to create newitem
pages for each item in the grouped list. Each item page contains the files containing the specificprop
.
Example
app.task('build', function() {
return app.toStream('pages')
.pipe(app.createIndex('tags'))
.pipe(app.dest('dist'));
});
About
Related projects
- group-array: Group array of objects into lists. | homepage
- gulp-collection: Gulp plugin to group vinyl files into a collection and create new vinyl files using… more | homepage
- paginationator: Paginate an array into pages of items. | homepage
- permalinks: Adds permalink or URL routing/URL rewriting logic to any node.js project. Can be used in… more | homepage
- placeholders: Replace placeholder values in a file path. | homepage
Contributing
Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.
Please read the contributing guide for avice on opening issues, pull requests, and coding standards.
Building docs
(This document was generated by verb-generate-readme (a verb generator), please don't edit the readme directly. Any changes to the readme must be made in .verb.md.)
To generate the readme and API documentation with verb:
$ npm install -g verb verb-generate-readme && verb
Running tests
Install dev dependencies:
$ npm install -d && npm test
Author
Brian Woodward
License
Copyright © 2016, Brian Woodward. Released under the MIT license.
This file was generated by verb, v0.9.0, on August 02, 2016.