API Docs for: 1.0.1
Show:

File: src\eng\underscore-generator.js

/**
Definition of the UnderscoreGenerator class.
@license MIT. Copyright (c) 2015 James Devlin / FluentDesk.
@module underscore-generator.js
*/

(function() {



  var _ = require('underscore');



  /**
  Perform template-based resume generation using Underscore.js.
  @class UnderscoreGenerator
  */
  var UnderscoreGenerator = module.exports = {

    generate: function( json, jst, format, cssInfo, opts, theme ) {

      // Tweak underscore's default template delimeters
      var delims = (opts.themeObj && opts.themeObj.delimeters) || opts.template;
      if( opts.themeObj && opts.themeObj.delimeters ) {
        delims = _.mapObject( delims, function(val,key) {
          return new RegExp( val, "ig");
        });
      }
      _.templateSettings = delims;

      // Strip {# comments #}
      jst = jst.replace( delims.comment, '');

      // Compile and run the template. TODO: avoid unnecessary recompiles.
      var compiled = _.template(jst);
      var ret = compiled({
        r: format === 'html' || format === 'pdf' ? json.markdownify() : json,
        filt: opts.filters,
        XML: require('xml-escape'),
        RAW: json,
        cssInfo: cssInfo,
        headFragment: opts.headFragment || ''
      });
      return ret;
    }

  };

  

}());