adaro
Lead Maintainer: Aria Stewart
An expressjs plugin for handling DustJS view rendering. dustjs-helpers are
included by default in this module.
var express = require('express');
var app = express();
var adaro = require('adaro');
var options = {
helpers: [
function (dust) { dust.helpers.myHelper = function (a, b, c, d) {} },
'../my-custom-helpers',
'dustjs-helpers',
{
name: '../my-custom-helpers/helper-to-render-data-with-args',
arguments: { "debug": true }
}
]
};
app.engine('dust', adaro.dust(options));
app.set('view engine', 'dust');
Make sure that if you've app.set('views', somepath)
that the path separators are correct for your operating system.
Configuration
Config options can be used to specify dust helpers, enabled/disable caching, and custom file loading handlers.
helpers
(optional) String Array, helper module names
A helper module must either:
- Conform to the API established by [dustjs-helpers] (https://github.com/linkedin/dustjs-helpers) provided by LinkedIn or
- Export a function which accepts a single argument (being dust itself). Such files should generally be designed for use on both client and server.
Client and Server Compatible
function setupHelpers(dust) {
}
if (typeof exports !== 'undefined') {
module.exports = setupHelpers;
} else {
setupHelpers(dust);
}
Alternate API
module.exports = function (dust) {
// Add helpers
};
cache
(optional, defaults to true) Boolean
Set to true to enable dust template caching, or false to disable.
app.engine('dust', dustjs.dust({ cache: false }));
app.set('view engine', 'dust');
helpers
(optional) An array of helper modules to require and use.
Expects helpers to be in the form of:
module.exports = function (dust, [options]) {
dust.helpers.something = function (chunk, context, bodies, params) {
};
};
Breaking changes
v1.0.0
- Removed the
layout:
option to render and in configuration - Dust is our own private instance, not global. If you load helpers, you must do it in the configuration of adaro.
- We outright require dust. We will not use your application's installed version.
- Dust ~2.7.1 is required. Dust minors are breaking changes, so those affect users of this module too.
- Paths passed to the engine that are filesystem absolute paths will be used as is, and not resolved against the view root.
dustjs-helpers
is not loaded for you automatically. Add it to your helpers configuration if you want it. Make sure you use a version compatible with the dustjs-linkedin that adaro uses.