pug-attrs
Generate code for Pug attributes
Installation
npm install pug-attrs
Usage
var compileAttrs = ;
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 behtml
orobject
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 = ;var pugRuntime = ; { 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; // HTML MODEresult = ;//=> '" foo=\\"bar\\"" + pugRuntime.attr("baz", getBaz(), true, true) + " quux"' finalResult = Function'pugRuntime, getBaz' 'return (' + result + ');';;// => ' foo="bar" baz="baz<>" quux' // OBJECT MODEresult = ;//=> '{"foo": "bar","baz": pugRuntime.escape(getBaz()),"quux": true}' finalResult = Function'pugRuntime, getBaz' 'return (' + result + ');';;//=> { foo: 'bar', baz: 'baz<>', quux: true }
License
MIT