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.
Table of Contents
(TOC generated by verb using markdown-toc)
Install
Install with npm:
$ npm install --save engine-handlebars
Heads up! Breaking changes in 0.8.0.
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'
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 |
About
Related projects
- assemble: Get the rocks out of your socks! Assemble makes you fast at creating web projects… more | homepage
- handlebars-helpers: More than 130 Handlebars helpers in ~20 categories. Helpers can be used with Assemble, Generate… 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.
Contributors
| Commits | Contributor | | --- | --- | --- | --- | | 28 | jonschlinkert | | 16 | doowb |
Building docs
(This project's readme.md is generated by verb, please don't edit the readme directly. Any changes to the readme must be made in the .verb.md readme template.)
To generate the readme, run the following command:
$ npm install -g verbose/verb#dev verb-generate-readme && verb
Running tests
Running and reviewing unit tests is a great way to get familiarized with a library and its API. You can install dependencies and run tests with the following command:
$ npm install && npm test
Author
Jon Schlinkert
License
Copyright © 2017, Jon Schlinkert. MIT
This file was generated by verb-generate-readme, v0.4.2, on February 21, 2017.