mirror of
https://github.com/TryGhost/Ghost.git
synced 2024-12-21 09:52:06 +03:00
9d7049cd3f
- The helper registration code is "framework" code and very specific - At the moment the "theme engine" is full of lots of disparate theme related stuff - I'm trying to make the frontend framework code clearer and also expand it to make it more useful - The helper system now also exposes 3 methods allowing you to register a directory, a helper or an alias - I've updated the codebase to use these both for our core helpers and for "apps"
31 lines
964 B
JavaScript
31 lines
964 B
JavaScript
const path = require('path');
|
|
|
|
const router = require('./lib/router');
|
|
const urlUtils = require('../../../shared/url-utils');
|
|
|
|
// Dirty requires
|
|
const settingsCache = require('../../../shared/settings-cache');
|
|
|
|
function ampRouter(req, res) {
|
|
if (settingsCache.get('amp') === true) {
|
|
return router.apply(this, arguments);
|
|
} else {
|
|
// routeKeywords.amp: 'amp'
|
|
let redirectUrl = req.originalUrl.replace(/\/amp\//, '/');
|
|
|
|
urlUtils.redirect301(res, redirectUrl);
|
|
}
|
|
}
|
|
|
|
module.exports = {
|
|
activate: function activate(ghost) {
|
|
// routeKeywords.amp: 'amp'
|
|
let ampRoute = '*/amp/';
|
|
|
|
ghost.routeService.registerRouter(ampRoute, ampRouter);
|
|
ghost.helperService.registerDir(path.resolve(__dirname, './lib/helpers'));
|
|
// we use the {{ghost_head}} helper, but call it {{amp_ghost_head}}, so it's consistent
|
|
ghost.helperService.registerAlias('amp_ghost_head', 'ghost_head');
|
|
}
|
|
};
|