Skip to content

Latest commit

 

History

History
80 lines (59 loc) · 1.6 KB

.verb.md

File metadata and controls

80 lines (59 loc) · 1.6 KB

Usage

var assemble = require('assemble');
var loader = require('{%= name %}');
var app = assemble()
app.use(loader());

app.create('pages', {cwd: 'src/pages'});
app.create('partials', {cwd: 'src/partials'});

// you can now load globs of templates onto any collection
app.pages('*.hbs');
app.partials('*.hbs');

API

var assemble = require('assemble');
var loader = require('{%= name %}');
var app = assemble()

// use the plugin
app.use(loader());

Optionally pass glob patterns to the plugin:

var app = assemble();
// this can only be done once when the plugin is registered
app.use(loader('foo/*.hbs'));

// you can use the `.loadViews()` method any number of times
app.create('pages')
  .use(loader('foo/*.hbs'))
  .loadViews('bar/*.hbs')
  .loadViews('baz/*.hbs')
  .loadViews('qux/*.hbs');

Collections

All collections

When the plugin is added to the app instance (as in the previous example), a .load method will also be added to every collection created.

var app = assemble()
  .use(loader());

// cache views on `app.views.posts`
app.create('posts')
  .load('content/*.md');

// cache views on `app.views.docs`
app.create('docs')
  .load('docs/*.md');

Specific collections

If you only want to add the loader to a specific collection, you can pass the plugin to the .use method on the collection.

var app = assemble();

// `create` returns the collection instance
app.create('posts')
  .use(loader())
  .load('content/*.md');

// this works too, since `create` adds methods to `app` 
// for the collection
app.posts
  .load('*.hbs')
  .load('*.txt');