Get unlimited public & private packages + team-based management with npm Teams.Learn more »

@behance/hogan-compiler

3.0.6 • Public • Published

Behance Hogan Compiler Build Status NPM version

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. See src/drivers/fs for an example.
  • templatesPath - absolute path to the templates
  • options.extension - defaults to mustache (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.

License

Apache-2.0

Install

npm i @behance/hogan-compiler

DownloadsWeekly Downloads

227

Version

3.0.6

License

Apache-2.0

Last publish

Collaborators

  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar