mirror of
https://github.com/Einundzwanzig-Podcast/einundzwanzig.space.git
synced 2025-12-13 16:26:50 +00:00
Add redirects
This commit is contained in:
@@ -26,7 +26,8 @@
|
|||||||
"optimize:styles": "csso dist/css/main.css --output dist/css/main.css",
|
"optimize:styles": "csso dist/css/main.css --output dist/css/main.css",
|
||||||
"rev": "node-file-rev --manifest=generated/rev.json --root=dist dist/css/* dist/js/* dist/img/*.svg dist/img/cover/*.png dist/img/ln/*.svg dist/img/shop/*.jpg dist/img/team/*.jpg dist/img/team/*.png",
|
"rev": "node-file-rev --manifest=generated/rev.json --root=dist dist/css/* dist/js/* dist/img/*.svg dist/img/cover/*.png dist/img/ln/*.svg dist/img/shop/*.jpg dist/img/team/*.jpg dist/img/team/*.png",
|
||||||
"sitemap": "node tasks/generate_sitemap.js",
|
"sitemap": "node tasks/generate_sitemap.js",
|
||||||
"prod": "NODE_ENV=production npm-run-all build optimize -s build:pages sitemap"
|
"redirects": "node tasks/generate_redirects.js",
|
||||||
|
"prod": "NODE_ENV=production npm-run-all build optimize -s build:pages -p redirects sitemap"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"amplitudejs": "5.3.2"
|
"amplitudejs": "5.3.2"
|
||||||
|
|||||||
25
tasks/generate_redirects.js
Normal file
25
tasks/generate_redirects.js
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
const { mkdirSync, statSync, writeFileSync } = require('fs')
|
||||||
|
const { dirname, join, resolve } = require('path')
|
||||||
|
|
||||||
|
const redirects = [
|
||||||
|
['/podcast/verschiedenes-special-zur-adoping-bitcoin-konferenz-in-el-salvador/', '/podcast/verschiedenes-special-zur-adopting-bitcoin-konferenz-in-el-salvador/']
|
||||||
|
]
|
||||||
|
|
||||||
|
const dist = resolve(__dirname, '..', 'dist')
|
||||||
|
|
||||||
|
const exists = filePath => {
|
||||||
|
try {
|
||||||
|
const stat = statSync(filePath)
|
||||||
|
return stat.isFile() || stat.isDirectory()
|
||||||
|
} catch (err) {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
redirects.forEach(([path, redirect]) => {
|
||||||
|
const target = join(dist, path, 'index.html')
|
||||||
|
if (exists(target)) return
|
||||||
|
|
||||||
|
mkdirSync(dirname(target), { recursive: true })
|
||||||
|
writeFileSync(target, `<!DOCTYPE html><html><title>Redirect</title><link rel="canonical" href="${redirect}"><script>location="${redirect}"</script><meta http-equiv="refresh" content="0;url=${redirect}"><meta name="robots" content="noindex"><a href="${redirect}">Click here if you are not redirected.</a></html>`)
|
||||||
|
})
|
||||||
Reference in New Issue
Block a user