Skip to content

Instantly share code, notes, and snippets.

@rickumali
Last active March 6, 2021 00:38
Show Gist options
  • Save rickumali/60992b818eec03f9de44f9acab3d3c99 to your computer and use it in GitHub Desktop.
Save rickumali/60992b818eec03f9de44f9acab3d3c99 to your computer and use it in GitHub Desktop.
Redirecting Old HTML to Blogger
2001_03_04_archive.html
2001_03_11_archive.html
2001_03_18_archive.html
2001_03_25_archive.html
2001_04_01_archive.html
2005_02_27_archive.html
2005_03_06_archive.html
archive-detail.html
archive.html
index.html
const fs = require('fs')
const byline = require('byline')
const pug = require('pug')
const stream = byline(fs.createReadStream('files.txt'))
const re = /(?<year_str>\d\d\d\d)_(?<month_str>\d\d)_(?<day_str>\d\d)_archive.html/
const fn = pug.compileFile('redirector.pug', { pretty: true, debug: false })
const { DateTime } = require('luxon')
function writeRedirectFile (fileName, newUrl, refreshValue) {
const ws = fs.createWriteStream(fileName)
const locals = { fileName: fileName, newUrl: newUrl, refreshValue: refreshValue }
const html = fn(locals)
ws.write(html)
ws.end()
}
stream.on('data', function (line) {
const fileName = line.toString()
const match = re.exec(fileName)
if (match != null) {
const minDate = `${match.groups.year_str}-${match.groups.month_str}-${match.groups.day_str}`
const maxDate = DateTime.fromISO(minDate).plus({ days: 7 }).toISODate()
const newUrl = `http://blog.rickumali.com/search?updated-min=${minDate}T00:00:00-05:00&updated-max=${maxDate}T00:00:00-05:00&reverse-paginate=true`
const refreshValue = `0; url=${newUrl}`
writeRedirectFile(fileName, newUrl, refreshValue)
} else {
const newUrl = 'http://blog.rickumali.com/'
const refreshValue = `0; url=${newUrl}`
writeRedirectFile(fileName, newUrl, refreshValue)
}
})
{
"name": "oldblog-redirects",
"version": "1.0.0",
"description": "Simple I/O to make HTML files from a list of files",
"main": "index.js",
"private": true,
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [
"HTML",
"byline"
],
"author": "Rick Umali",
"license": "MIT",
"dependencies": {
"byline": "^5.0.0",
"luxon": "^1.26.0",
"pug": "^3.0.2"
},
"devDependencies": {
"standard": "^16.0.3"
}
}
head
title BLOG Page Permanently Moved
meta(http-equiv='refresh', content=refreshValue)
meta(charset='utf-8')
body
// 302 Redirecting to New Location
center
h1 BLOG Page Permanently Moved
h2 This page will automatically refresh.
p (Click link below if page does not refresh.)
p
a(href=newUrl) #{newUrl}
p
sm Rick Umali
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment