sheercms
Version:
Sheer Cliff CMS is a simple and powerful content management system (CMS) for Node JS.
44 lines (39 loc) • 1.24 kB
JavaScript
/*
Sheer Cliff CMS Plugin - view - renders EJS views
*/
var ejs = require('ejs');
var path_module = require('path');
var logger = require('./logger');
module.exports.render = function(str, model) {
return ejs.render(str, model);
};
/*
callback: (err, output)
*/
module.exports.renderFile = function(view, model, callback) {
if (callback) {
try {
if (view.indexOf('.ejs') == -1)
view += '.ejs';
var path = path = path_module.join(__dirname, "..", "views", view);
ejs.renderFile(path, model, function (err, output) {
if (err) {
logger.error(err);
callback(err);
}
else {
if (output && output.indexOf("Error:") == 0) {
var e = new Error("Error in view.renderFile: " + output);
logger.error(e);
callback(e, output);
} else {
callback(null, output);
}
}
});
} catch (e) {
logger.error(e);
callback(e);
}
}
};