engine-plntr-handlebars
v0.8.1
Published
Planitar Handlebars engine, consolidate.js style but with enhancements. This works with Assemble, express.js, engine-cache or any application that follows consolidate.js conventions.
Downloads
263
Maintainers
Readme
engine-plntr-handlebars
===================================================
THIS IS A FORK OF
jonschlinkert/engine-handlebars
The only difference is the delimiters of the underlying Handlebaras are
<{{
and }}>
instead of {{
and }}
respectively.
===================================================
Handlebars engine, consolidate.js style but with enhancements. This works with Assemble, express.js, engine-cache or any application that follows consolidate.js conventions.
Heads up! Breaking changes in 0.8.0.
Install
Install with npm
$ npm i engine-plntr-handlebars --save
(Table of contents generated by verb)
Usage
var engine = require('engine-handlebars');
API
.compile
Handlebars string support. Compile the given str
and register helpers and partials from settings
Params
str
{String}: String or compiled function.options
{Object}: object containing optional helpers and partials
Example
var engine = require('engine-handlebars');
var fn = engine.compile('{{name}}', {});
.render
Handlebars string support. Render the given str
and invoke the callback cb(err, str)
.
Params
str
{String|Function}: String or compiled function.locals
{Object|Function}: or callback.cb
{Function}: callback function.
Example
var engine = require('engine-handlebars');
engine.render('{{name}}', {name: 'Jon'}, function (err, content) {
console.log(content); //=> 'Jon'
});
.renderFile
Vinyl file support. Render tempates in the contents
of the given file
and invoke the callback cb(err, file)
. If the file has a data
object, it will be merged with locals and passed to templates as context. data
wins over locals
.
Params
file
{Object}: Vinyl file.locals
{Object|Function}: or callback.cb
{Function}: callback function.
Example
var engine = require('engine-handlebars');
var file = new File({
path: 'foo.hbs',
contents: new Buffer('{{name}}')
});
engine.renderFile(file, {name: 'Foo'}, function (err, res) {
console.log(res.contents.toString())
//=> 'Foo'
});
.renderSync
Synchronously render Handlebars templates.
Params
str
{Object|Function}: The string to render or compiled function.locals
{Object}returns
{String}: Rendered string.
Example
var engine = require('engine-handlebars');
engine.renderSync('<%= name %>', {name: 'Jon'});
//=> 'Jon'
Related projects
- assemble: Static site generator for Grunt.js, Yeoman and Node.js. Used by Zurb Foundation, Zurb Ink, H5BP/Effeckt,… more | homepage
- handlebars-helpers: 120+ Handlebars helpers in ~20 categories, for Assemble, YUI, Ghost or any Handlebars project. Includes… more | homepage
- helper-cache: Easily register and get helper functions to be passed to any template engine or node.js… more | homepage
- template-helpers: Generic JavaScript helpers that can be used with any template engine. Handlebars, Lo-Dash, Underscore, or… more | homepage
- templates: System for creating and managing template collections, and rendering templates with any node.js template engine.… more | homepage
Contributing
Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.
Tests
Install dev dependencies:
$ npm i -d && npm test
History
| version | description |
| --- | --- |
| v0.8.0 | renderFile
now expects a [vinyl][] file. The old renderFile method is now exposed on engine.__express
|
| v0.7.0 | update to handlebars 0.4.0 |
Author
Jon Schlinkert
License
Copyright © 2014-2015 Jon Schlinkert Released under the MIT license.
This file was generated by verb-cli on September 18, 2015.