mirror of
https://github.com/JuanCanham/HackMyResume.git
synced 2024-10-05 23:15:12 +01:00
38 lines
1.1 KiB
JavaScript
38 lines
1.1 KiB
JavaScript
|
/**
|
||
|
Underscore template generate for FluentCV.
|
||
|
@license MIT. Copyright (c) 2015 James M. Devlin / FluentDesk.
|
||
|
*/
|
||
|
|
||
|
(function() {
|
||
|
|
||
|
var _ = require('underscore');
|
||
|
|
||
|
module.exports = function( json, jst, format, cssInfo, opts ) {
|
||
|
|
||
|
// Tweak underscore's default template delimeters
|
||
|
_.templateSettings = opts.template;
|
||
|
|
||
|
// Convert {{ someVar }} to {% print(filt.out(someVar) %}
|
||
|
// Convert {{ someVar|someFilter }} to {% print(filt.someFilter(someVar) %}
|
||
|
jst = jst.replace( _.templateSettings.interpolate, function replace(m, p1) {
|
||
|
if( p1.indexOf('|') > -1 ) {
|
||
|
var terms = p1.split('|');
|
||
|
return '{% print( filt.' + terms[1] + '( ' + terms[0] + ' )) %}';
|
||
|
}
|
||
|
else {
|
||
|
return '{% print( filt.out(' + p1 + ') ) %}';
|
||
|
}
|
||
|
});
|
||
|
|
||
|
// Strip {# comments #}
|
||
|
jst = jst.replace( _.templateSettings.comment, '');
|
||
|
|
||
|
// Compile and run the template. TODO: avoid unnecessary recompiles.
|
||
|
jst = _.template(jst)({ r: json, filt: opts.filters, cssInfo: cssInfo, headFragment: opts.headFragment || '' });
|
||
|
|
||
|
return jst;
|
||
|
|
||
|
};
|
||
|
|
||
|
}());
|