diff --git a/src/includes/_head.pug b/src/includes/_head.pug index a454e42b0e4..1eb2b31b51c 100644 --- a/src/includes/_head.pug +++ b/src/includes/_head.pug @@ -31,6 +31,7 @@ block head link(rel="mask-icon" href=assetPath("/img/favicon/safari-pinned-tab.svg") color=themeColor) link(rel="stylesheet" href=assetPath("/css/main.css")) link(rel="alternate" type="application/rss+xml" title="Podcast Feed" href=site.meta.publicFeedUrl) + link(rel="canonical" href=assetUrl(pagePath)) script(src=assetPath("/js/player.js") defer) script(src=assetPath("/js/main.js")) title= pageTitle diff --git a/tasks/generate_pages.js b/tasks/generate_pages.js index 288267d86b1..424454ddfcc 100644 --- a/tasks/generate_pages.js +++ b/tasks/generate_pages.js @@ -31,10 +31,11 @@ const renderPage = (template, out, data = {}) => { const needsRender = !changedFile || changedFile === templateFile || changedFile.startsWith('src/includes') || changedFile.endsWith('.js') || changedFile.endsWith('.json') if (!needsRender) return - const file = resolve(__dirname, '..', templateFile) - const options = Object.assign({}, config, { site }, data) - const rendered = pug.renderFile(file, options) const dest = out === 'index' ? 'index.html' : `${out}/index.html` + const pagePath = out === 'index' ? '/' : `/${out}/` + const file = resolve(__dirname, '..', templateFile) + const options = Object.assign({}, config, { site }, data, { pagePath }) + const rendered = pug.renderFile(file, options) const dst = resolve(__dirname, '..', 'dist', dest) const dir = dirname(dst)