diff --git a/src/controllers/helpers.js b/src/controllers/helpers.js index 3d15ea12be..5981cdc47a 100644 --- a/src/controllers/helpers.js +++ b/src/controllers/helpers.js @@ -238,10 +238,11 @@ helpers.buildBreadcrumbs = function (crumbs) { }; helpers.buildTitle = function (pageTitle) { - const titleLayout = meta.config.titleLayout || '{pageTitle} | {browserTitle}'; + pageTitle = pageTitle || ''; + const titleLayout = meta.config.titleLayout || `${pageTitle ? '{pageTitle} | ' : ''}{browserTitle}`; const browserTitle = validator.escape(String(meta.config.browserTitle || meta.config.title || 'NodeBB')); - pageTitle = pageTitle || ''; + const title = titleLayout.replace('{pageTitle}', () => pageTitle).replace('{browserTitle}', () => browserTitle); return title; }; diff --git a/src/middleware/render.js b/src/middleware/render.js index 223d556150..d8a98a9f3e 100644 --- a/src/middleware/render.js +++ b/src/middleware/render.js @@ -162,7 +162,7 @@ module.exports = function (middleware) { templateValues.configJSON = jsesc(JSON.stringify(res.locals.config), { isScriptContext: true }); - const title = translator.unescape(utils.stripHTMLTags(options.title)); + const title = translator.unescape(utils.stripHTMLTags(options.title || '')); const results = await utils.promiseParallel({ isAdmin: user.isAdministrator(req.uid), isGlobalMod: user.isGlobalModerator(req.uid),