Middleware for processing config templates in front matter. Can be used with verb, assemble v0.6.0 and greater, or any application based on jonschlinkert/templates.
npm install expand-front-matter> Middleware for processing config templates in front matter. Can be used with verb, assemble v0.6.0 and greater, or any application based on jonschlinkert/templates.
Install with npm:
``sh`
$ npm install --save expand-front-matter
Works with assemble, verb, generate, update, or any Template-based application. Just replace assemble in the examples with your application of choice.
This requires front-matter to be parsed in advance. You can easily do this with parser-front-matter like this:
`js
var assemble = require('assemble');
var app = assemble();
// parse front matter on all hbs files`
app.onLoad(/\.hbs$/, function(view, next) {
matter.parse(view, next);
});
Use as a middleware:
`js
var expand = require('expand-front-matter');
var assemble = require('assemble');
var app = assemble();
app.onLoad(/\.hbs$/, expand(app));
app.pages('*.hbs');
`
app plugin
Use as an "instance" plugin on app to expand templates in the front-matter of all views in all collections:
`js
var expand = require('expand-front-matter');
var assemble = require('assemble');
var app = assemble();
app.use(expand());
app.pages('*.hbs');
`
Collection plugin
Use as a collection instance plugin to expand templates in the front-matter of all views in the collection:
`js
var expand = require('expand-front-matter');
var assemble = require('assemble');
var app = assemble();
app.create('pages')
.use(expand(app));
app.pages('*.hbs');
`
view plugin
Use as a view plugin to expand templates in the front-matter of a specific view:
`js
var expand = require('expand-front-matter');
var assemble = require('assemble');
var app = assemble();
app.create('pages')
app.page('foo', {content: '...'})
.use(expand(app))
.render(function(err, res) {
//=> do stuff to res
});
`
* assemble: Get the rocks out of your socks! Assemble makes you fast at creating web projects… more | homepage
* expand: Recursively resolve templates in an object, string or array. | homepage
* template: Render templates using any engine. Supports, layouts, pages, partials and custom template types. Use template… more | homepage
* verb: Documentation generator for GitHub projects. Verb is extremely powerful, easy to use, and is used… more | homepage
Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.
_(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:
`sh`
$ npm install -g verb verb-generate-readme && verb
Install dev dependencies:
`sh``
$ npm install -d && npm test
Jon Schlinkert
* github/jonschlinkert
* twitter/jonschlinkert
Copyright © 2016, Jon Schlinkert.
Released under the MIT license.
*
_This file was generated by verb-generate-readme, v0.2.0, on December 26, 2016._