$ npm install assemble-middleware-page-variableAssemble middleware for adding a
pagevariable to the context, with details about the current item being rendered.
Install with npm:
$ npm install --save assemble-middleware-page-variable
This middleware will work with assemble, verb, generate, update or any other node.js application based on the templates library.
var pageData = require('assemble-middleware-page-variable');
var assemble = require('assemble');
var app = assemble();
app.onLoad(/\.md$/, pageData(app));
var page = app.page('home.md', {
contents: new Buffer('---\ntitle: Home\n---\n\nThis is {{page.title}}')
});
app.render(page, function(err, view) {
if (err) return console.log(err);
console.log(view.contents.toString());
//=> 'This is Home'
});
Then, inside templates you can use the variable like this:
---
title: Home
---
This is the page.
Which would render to:
This is the Home page.
Optionally specify a custom property name to use instead of page.
// you don't need to create a custom collection too, this is just an example
app.create('posts');
app.onLoad(/\.md$/, pageData(app, 'post'));
var post = app.post('home.md', {
contents: new Buffer('---\ntitle: Home\n---\n\nThis is {{post.title}}')
});
app.render(post, function(err, view) {
if (err) return console.log(err);
console.log(view.contents.toString());
//=> 'This is Home'
});
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.
(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
Install dev dependencies:
$ npm install -d && npm test
Jon Schlinkert
Copyright © 2017, Jon Schlinkert. Released under the MIT license.
This file was generated by verb-generate-readme, v0.2.3, on January 05, 2017.