underscore-template-pipe
v1.0.0
Published
An underscore template function that can return json.
Downloads
5
Readme
Underscore template pipe
An underscore template function that can return json.
What's it do?
Adds an additional behavior to Underscore templating called pipe
, which does everything that the =
interplator does except it doesn't coerce variables to strings — it returns them as whatever type they are.
Use <%| name %>
syntax.
The normal <%= name %>
, <%- name %>
and <% name %>
tags behave exactly as they do in underscore.
Usage
templatePipe(templateString[, settings])
As an underscore function in NodeJS
var _ = require('underscore')
_.templatePipe = require('underscore-template-pipe')
var templateString = _.templatePipe('<%| data.authors %>')({
data: {
authors: [{name: 'mhk'}, {name: 'khm'}]
}
})
// => [ { name: 'mhk' }, { name: 'khm' } ]
On its own
var templatePipe = require('underscore-template-pipe')
var templateString = templatePipe('<%| data.authors %>')({
data: {
authors: [{name: 'mhk'}, {name: 'khm'}]
}
})
// => [ { name: 'mhk' }, { name: 'khm' } ]
With a custom syntax style
var templatePipe = require('underscore-template-pipe')
var templateSettings = {
evaluate : /<%([\s\S]+?)%>/g,
interpolate : /<%=([\s\S]+?)%>/g,
escape : /<%-([\s\S]+?)%>/g,
pipe : /<%~([\s\S]+?)%>/g // Use a `~` instead of `|`. The other settings need not be specified if they are not modified. Listed here to show options.
}
var templateString = templatePipe('<%~ data.authors %>', templateSettings)({
data: {
authors: [{name: 'mhk'}, {name: 'khm'}]
}
})
// => [ { name: 'mhk' }, { name: 'khm' } ]
License
MIT