Package Exports
- engine-handlebars
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (engine-handlebars) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
engine-handlebars

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-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.