@behance/hogan-compiler
v3.0.6
Published
Behance Hogan Compiler
Downloads
14
Readme
Behance Hogan Compiler
This Browser / Node.js library is a helper for loading mustache templates via Hogan.js.
Features
- caching & asynchronous loading
- retrieval and resolution of partials
- retrieve the files any way you like via the driver (e.g, XHR in the browser and fs in Node.js)
Usage
const hoganCompiler = require('@behance/hogan-compiler');
// Bring Your Own Driver
const fsDriver = require('@behance/hogan-compiler/src/drivers/fs');
const templatesPath = '/tmp';
const compiler = hoganCompiler.create(fsDriver, templatesPath/*, options */);
// When using `options.isCached`, you may want to populate the cache before making `.compile()` calls
compiler.populateCache()
.then(() => console.log('Cache has been populated'));
// provide just the name, no need for the template dir or the extension
compiler.compile('my_template')
.then((template) => {
const renderedString = template.render({ name: 'Mary' });
console.log(renderedString);
});
Create Arguments:
driver
- will be used to read files. All methods must return a Promise. Seesrc/drivers/fs
for an example.templatesPath
- absolute path to the templatesoptions.extension
- defaults tomustache
(e.g.,template.mustache
)options.isCached
- cache compiled templates in the created instance
HoganCompilerOptions:
asString
- return the compiled template as a string. This feature is used by hulk to produce strings containing pre-compiled templates.sectionTags
- allow custom tags that require opening and closing tags, and treat them as though they were section tags.delimiters
- A string that overrides the default delimiters. Example: "<% %>"disableLambda
- isables the higher-order sections / lambda-replace features of Mustache.
For more details see Hogan Compilation options.