Merge pull request #7779 from FreeCodeCamp/fix/wiki-urls
Fix article loading on direct link to wiki
This commit is contained in:
@ -1,11 +1,17 @@
|
|||||||
module.exports = function(app) {
|
module.exports = function(app) {
|
||||||
var router = app.loopback.Router();
|
var router = app.loopback.Router();
|
||||||
router.get('/wiki/*', showWiki);
|
router.get('/wiki/*', showWiki);
|
||||||
router.get('/wiki', showWiki);
|
router.get('/wiki', (req, res) => res.redirect(301, '/wiki/en/'));
|
||||||
|
|
||||||
app.use(router);
|
app.use(router);
|
||||||
|
|
||||||
function showWiki(req, res) {
|
function showWiki(req, res) {
|
||||||
res.render('wiki/show', { title: 'Wiki | Free Code Camp' });
|
res.render(
|
||||||
|
'wiki/show',
|
||||||
|
{
|
||||||
|
title: 'Wiki | Free Code Camp',
|
||||||
|
path: req.path.replace(/^\/wiki/, '')
|
||||||
|
}
|
||||||
|
);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -2,6 +2,19 @@ extends ../layout-wide
|
|||||||
block content
|
block content
|
||||||
iframe#wikiFrame(frameborder='no')
|
iframe#wikiFrame(frameborder='no')
|
||||||
script.
|
script.
|
||||||
var lang = window.location.toString().match(/\/\w{2}\//);
|
var wikiUrl = '//freecodecamp.github.io/wiki';
|
||||||
lang = (lang) ? lang[0] : '/en/';
|
var wikiOrigin = /https?:\/\/freecodecamp.github.io/;
|
||||||
$('#wikiFrame').attr('src','//freecodecamp.github.io/wiki' + lang);
|
var requestedPath = !{JSON.stringify(path) || ''};
|
||||||
|
var lang = window.location.toString().match(/\/\w{2}\//);
|
||||||
|
lang = (lang) ? lang[0] : '/en/';
|
||||||
|
$('#wikiFrame').attr(
|
||||||
|
'src',
|
||||||
|
wikiUrl + (requestedPath ? requestedPath : lang)
|
||||||
|
);
|
||||||
|
window.addEventListener('message', function(e) {
|
||||||
|
if (!wikiOrigin.test(e.origin)) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
history.replaceState(history.state, null, e.data);
|
||||||
|
return null;
|
||||||
|
});
|
||||||
|
Reference in New Issue
Block a user