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.
Please consider following this project's author, Jon Schlinkert, and consider starring the project to show your :heart: and support.
Install
Install with npm:
$ npm install --save engine-handlebarsHeads up!
There were major breaking changes in v1.0!.
Usage
const handlebars = require('handlebars');
const engine = require('engine-handlebars')(handlebars);
console.log(engine);The engine object that is returned has the following properties:
name- the name of the engine:handlebars, used for engine detection in other libraries.instance- your instance of handlebarscompile- async compile methodcompileSync- sync compile methodrender- async render methodrenderSync- sync render method
API
.compile
Compile file.contents with handlebars.compile(). Adds a compiled .fn() property to the given file.
Params
file{Object}: File object withcontentsstring or buffer.options{Object}: Options with partials and helpers.returns{Promise}
Example
engine.compile({ contents: 'Jon {{ name }}' })
.then(file => {
console.log(typeof file.fn) // 'function'
});.render
Render file.contents with the function returned from .compile().
Params
file{Object}: File object withcontentsstring or buffer.locals{Object}: Locals to use as contents to render the string.options{Object}: Options with partials and helpers.returns{Promise}
Example
engine.render({ contents: 'Jon {{ name }}' }, { name: 'Schlinkert' })
.then(file => {
console.log(file.contents.toString()) // 'Jon Schlinkert'
});.compileSync
Compile file.contents with handlebars.compile(). Adds a compiled .fn() property to the given file.
Params
file{Object}: File object withcontentsstring or buffer.options{Object}: Options with partials and helpers.returns{Object}: Returns the file object.
Example
let file = engine.compileSync({ contents: 'Jon {{ name }}' });
console.log(typeof file.fn) // 'function'.renderSync
Render file.contents with the function returned from .compile().
Params
file{Object}: File object withcontentsstring or buffer.locals{Object}: Locals to use as contents to render the string.options{Object}: Options with partials and helpers.returns{Object}: Returns the file object.
Example
let file = engine.renderSync({ contents: 'Jon {{ name }}' }, { name: 'Schlinkert' });
console.log(file.contents.toString()) // 'Jon Schlinkert'Release History
v1.0.0
- The main export is now a function that takes an instance of handlebars.
renderFileand__expresshave been removed..compileand.rendernow return a promise..compileSyncand.renderSyncmay be used for sync operations.- All methods now expect a
fileobject with a.contentsproperty (string or buffer).
v0.8.0
renderFilenow expects a vinyl file.- The old renderFile method is now exposed on
engine.__express
v0.7.0
- updated to handlebars 0.4.0
About
sh
$ npm install && npm test
sh
$ npm install -g verbose/verb#dev verb-generate-readme && verb
Related projects
You might also be interested in these 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
- 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
Contributors
| Commits | Contributor |
|---|---|
| 32 | jonschlinkert |
| 18 | doowb |
Author
Jon Schlinkert
License
Copyright © 2018, Jon Schlinkert. Released under the MIT License.
This file was generated by verb-generate-readme, v0.8.0, on November 11, 2018.