jade-attrs
Generate code for Jade attributes
Installation
npm install jade-attrs
Usage
var compileAttrs = require('jade-attrs');
compileAttrs(attrs, options)
Compile attrs
to a JavaScript string that evaluates to the attributes in the desired format.
options
MUST include the following properties:
terse
: whether or not to use HTML5-style terse boolean attributesruntime
: callback that takes a runtime function name and returns the source code that will evaluate to that function at runtimeformat
: output format; must be html
or object
attrs
is an array of attributes, with each attribute having the form of { name, val, mustEscape }
. val
represents a JavaScript string that evaluates to the value of the attribute, either statically or dynamically.
var compileAttrs = require('jade-attrs');
var jadeRuntime = require('jade-runtime');
function getBaz () { return 'baz<>'; }
var attrs = [
{name: 'foo', val: '"bar"', mustEscape: true },
{name: 'baz', val: 'getBaz()', mustEscape: true },
{name: 'quux', val: true, mustEscape: false}
];
var result, finalResult;
result = compileAttrs(attrs, {
terse: true,
format: 'html',
runtime: function (name) { return 'jadeRuntime.' + name; }
});
finalResult = Function('jadeRuntime, getBaz',
'return (' + result + ');'
);
finalResult(jadeRuntime, getBaz);
result = compileAttrs(attrs, {
terse: true,
format: 'object',
runtime: function (name) { return 'jadeRuntime.' + name; }
});
finalResult = Function('jadeRuntime, getBaz',
'return (' + result + ');'
);
finalResult(jadeRuntime, getBaz);
License
MIT