|
|
4 years ago | |
|---|---|---|
| .. | ||
| node_modules | 4 years ago | |
| LICENSE | 4 years ago | |
| README.md | 4 years ago | |
| index.js | 4 years ago | |
| package.json | 4 years ago | |
| utils.js | 4 years ago | |
README.md
vinyl-view

Extends vinyl with render and compile methods, and properties used for rendering templates.
Install
Install with npm:
$ npm install --save vinyl-view
Usage
Use the same way you would use a vinyl file:
var View = require('vinyl-view');
var view = new View({path: 'foo'});
API
View
Create an instance of View. Optionally pass a default object to use.
Params
view{Object}
Example
var view = new View({
path: 'foo.html',
contents: new Buffer('...')
});
.compile
Synchronously compile a view.
Params
locals{Object}: Optionally pass locals to the engine.returns{Object}View: instance, for chaining.
Example
var view = page.compile();
view.fn({title: 'A'});
view.fn({title: 'B'});
view.fn({title: 'C'});
.renderSync
Synchronously render templates in view.content.
Params
locals{Object}: Optionally pass locals to the engine.returns{Object}View: instance, for chaining.
Example
var view = new View({content: 'This is <%= title %>'});
view.renderSync({title: 'Home'});
console.log(view.content);
.render
Asynchronously render templates in view.content.
Params
locals{Object}: Context to use for rendering templates.
Example
view.render({title: 'Home'}, function(err, res) {
//=> view object with rendered `content`
});
.context
Create a context object from locals and the view.data and view.locals objects. The view.data property is typically created from front-matter, and view.locals is used when a new View() is created.
This method be overridden either by defining a custom view.options.context function
to customize context for a view instance, or static View.context function to customize
context for all view instances.
Params
locals{Object}: Optionally pass a locals object to merge onto the context.returns{Object}: Returns the context object.
Example
var page = new View({path: 'a/b/c.txt', locals: {a: 'b', c: 'd'}});
var ctx = page.context({a: 'z'});
console.log(ctx);
//=> {a: 'z', c: 'd'}
.isType
Returns true if the view is the given viewType. Returns false if no type is assigned. When used with vinyl-collections, types are assigned by their respective collections.
Params
type{String}: (renderable,partial,layout)
Example
var view = new View({path: 'a/b/c.txt', viewType: 'partial'})
view.isType('partial');
.View.context
Define a custom static View.context function to override default .context behavior. See the context docs for more info.
Params
locals{Object}returns{Object}
Example
// custom context function
View.context = function(locals) {
// `this` is the view being rendered
return locals;
};
About
Contributing
Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.
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
Jon Schlinkert
License
Copyright © 2016, Jon Schlinkert. Released under the MIT license.
This file was generated by verb, v0.9.0, on July 23, 2016.