UNPKG

sheercms

Version:

Sheer Cliff CMS is a simple and powerful content management system (CMS) for Node JS.

44 lines (39 loc) 1.32 kB
var logger = require('../logger'); var api = require('../api'); var S = require('string'); /* callback is used to send the html back so it can be cached if applicable */ module.exports.index = function(req, res, info, item, callback) { try { if (item.branch === "media") { var media = api.plugins.get('media'); if (!media) throw new Error('media plugin not installed.'); media.renderMedia(req, res, item); } else { var model = { "info": info, "item": item }; if (!item.template || S(item.template.key).isEmpty()) throw new Error("The page has an invalid template: " + item.contentId); //render the page using the template view text and model api.templates.render(item.template.key, model, function(err, html) { if (err) { if (callback) callback(err); res.send(err.message); } else { if (callback) callback(null, html); res.send(html); } }); } } catch(e) { logger.error(e); res.send(500, 'Error rendering the content for this URL.'); } };