@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

/@behance/hogan-compiler/

    Package Sidebar

    Install

    npm i @behance/hogan-compiler

    Weekly Downloads

    2

    Version

    3.0.6

    License

    Apache-2.0

    Last publish

    Collaborators

    • chthomas
    • lanniemiao
    • mtrajano93
    • moskalen
    • elewis
    • mansinarain
    • attamusc
    • weikinhuang
    • mase
    • agaripian
    • nemtsov
    • bryanpackman
    • matt-oconnell
    • mlebrun
    • andyroo2000
    • ingluisjimenez
    • gtuckeradobe
    • tpaparne
    • danicasapit
    • dfoxinator
    • jelee11
    • jmedoy
    • bossjones
    • mtldo
    • jushean
    • bryanlatten
    • sadraei
    • tracyfogel
    • kangman
    • iooi
    • benake
    • davestein