mirror of
https://github.com/TryGhost/Ghost.git
synced 2024-12-30 14:22:07 +03:00
08479f3816
- The helpers folder was full of things used for rendering pages - It belongs as its own service so that we can see what it really does
31 lines
941 B
JavaScript
31 lines
941 B
JavaScript
const debug = require('@tryghost/debug')('services:routing:renderer:renderer');
|
|
const setContext = require('./context');
|
|
const templates = require('./templates');
|
|
|
|
/**
|
|
* @description Helper function to finally render the data.
|
|
* @param {Object} req
|
|
* @param {Object} res
|
|
* @param {Object} data
|
|
*/
|
|
module.exports = function renderer(req, res, data) {
|
|
// Set response context
|
|
setContext(req, res, data);
|
|
|
|
// Set template
|
|
templates.setTemplate(req, res, data);
|
|
|
|
debug('Rendering template: ' + res._template + ' for: ' + req.originalUrl);
|
|
debug('res.locals', res.locals);
|
|
|
|
// CASE: You can set the content type of the page in your routes.yaml file
|
|
if (res.routerOptions && res.routerOptions.contentType) {
|
|
if (res.routerOptions.templates.indexOf(res._template) !== -1) {
|
|
res.type(res.routerOptions.contentType);
|
|
}
|
|
}
|
|
|
|
// Render Call
|
|
res.render(res._template, data);
|
|
};
|