29 lines
794 B
TypeScript
Raw Normal View History

2019-01-04 13:14:53 -05:00
import * as metadata from "../metadata";
import { Page } from "../metadata";
import layout from "../layout";
import * as util from "../util";
async function generateRedirect(oldPermalink: string, newPermalink: string) {
const page = await metadata.get("site/redirect.html.ejs");
2019-01-04 21:59:52 -05:00
page.text = util.render(page.text, {
2019-01-04 13:14:53 -05:00
metadata: page.metadata,
newPermalink
2019-01-04 21:59:52 -05:00
}, "site/redirect.html.ejs");
2019-01-04 13:14:53 -05:00
page.text = await layout(page.text, page.metadata, page.metadata.layout!);
if (oldPermalink.endsWith("/")) {
oldPermalink += "index.html";
}
util.write(oldPermalink, page.text);
}
export default async function redirects(posts: Page[]) {
for (const post of posts) {
if (post.metadata.oldPermalink) {
await generateRedirect(post.metadata.oldPermalink, post.metadata.permalink);
}
}
}