Sha256: 36700552b527cc44aad40169dc728fbace6e9af758016ee1fad3df52b8b5d8ef

Contents?: true

Size: 1.15 KB

Versions: 19

Compression:

Stored size: 1.15 KB

Contents

/**
 *  class EjsEngine
 *
 *  Engine for the EJS compiler. You will need `ejs` Node module installed
 *  in order to use [[Mincer]] with `*.ejs` files:
 *
 *      npm install ejs
 *
 *  This is a mixed-type engine that can be used as a 'backend' of [[JstEngine]]
 *  as well as standalone 'middleware' processor in a pipeline.
 *
 *
 *  ##### SUBCLASS OF
 *
 *  [[Template]]
 **/


'use strict';


// 3rd-party
var ejs; // initialized later


// internal
var Template = require('../template');


////////////////////////////////////////////////////////////////////////////////


// Class constructor
var EjsEngine = module.exports = function EjsEngine() {
  Template.apply(this, arguments);
  ejs = ejs || Template.libs.ejs || require('ejs');
};


require('util').inherits(EjsEngine, Template);


// Render data
EjsEngine.prototype.evaluate = function (context, locals) {
  if (this.nextProcessor && 'JstEngine' === this.nextProcessor.name) {
    return ejs.compile(this.data, {
      filename: context.logicalPath,
      client:   true
    }).toString();
  }

  return ejs.render(this.data, {
    filename: context.pathname,
    scope:    context,
    locals:   locals
  });
};

Version data entries

19 entries across 19 versions & 1 rubygems

Version Path
ela-4.1.6 node_modules/mincer/lib/mincer/engines/ejs_engine.js
ela-4.1.5 node_modules/mincer/lib/mincer/engines/ejs_engine.js
ela-4.1.4 node_modules/mincer/lib/mincer/engines/ejs_engine.js
ela-4.1.3 node_modules/mincer/lib/mincer/engines/ejs_engine.js
ela-4.1.2 node_modules/mincer/lib/mincer/engines/ejs_engine.js
ela-4.1.1 node_modules/mincer/lib/mincer/engines/ejs_engine.js
ela-4.1.0 node_modules/mincer/lib/mincer/engines/ejs_engine.js
ela-4.0.0 node_modules/mincer/lib/mincer/engines/ejs_engine.js
ela-3.4.3 node_modules/mincer/lib/mincer/engines/ejs_engine.js
ela-3.4.2 node_modules/mincer/lib/mincer/engines/ejs_engine.js
ela-3.4.0 node_modules/mincer/lib/mincer/engines/ejs_engine.js
ela-3.3.1 node_modules/mincer/lib/mincer/engines/ejs_engine.js
ela-3.3.0 node_modules/mincer/lib/mincer/engines/ejs_engine.js
ela-3.2.0 node_modules/mincer/lib/mincer/engines/ejs_engine.js
ela-3.1.1 node_modules/mincer/lib/mincer/engines/ejs_engine.js
ela-3.1.0 node_modules/mincer/lib/mincer/engines/ejs_engine.js
ela-3.0.0 node_modules/mincer/lib/mincer/engines/ejs_engine.js
ela-2.0.0 node_modules/mincer/lib/mincer/engines/ejs_engine.js
ela-1.1.0 node_modules/mincer/lib/mincer/engines/ejs_engine.js