diff --git a/app/modules/redirect.js b/app/modules/redirectOr404.js
similarity index 100%
rename from app/modules/redirect.js
rename to app/modules/redirectOr404.js
diff --git a/app/views/api.js b/app/views/api.js
index 02c4385..eec4d23 100644
--- a/app/views/api.js
+++ b/app/views/api.js
@@ -6,6 +6,7 @@
import asyncHtml from "choo-async/html";
import dedent from "dedent";
+import redirectOr404 from "../modules/redirectOr404";
const fetch = require("make-fetch-happen").defaults({ cacheManager: "./cache" });
@@ -59,6 +60,8 @@ module.exports = exports = state => parseApiFile(state.params.wildcard).then(res
`;
+}).catch(() => {
+ redirectOr404(state.href);
});
diff --git a/app/views/redirect.js b/app/views/redirect.js
index 4e921f3..bbd22f2 100644
--- a/app/views/redirect.js
+++ b/app/views/redirect.js
@@ -11,9 +11,7 @@ import fs from "graceful-fs";
import html from "choo/html";
import path from "path";
import { require as local } from "app-root-path";
-import redirects from "../data/redirects.json";
-import redirect from "../modules/redirect";
-import Page404 from "./404.js";
+import redirectOr404 from "../modules/redirectOr404";
import raw from "choo/html/raw";
// V A R I A B L E S
@@ -44,17 +42,11 @@ const md = require("markdown-it")({
module.exports = exports = (state, emit) => { // eslint-disable-line
let path;
-
if (state.route === "resources/*") path = `resources/${state.params.wildcard}`;
else path = state.params.wildcard;
if (!fs.existsSync(`./documents/${path}.md`)) {
- const redirectUrl = redirects[path] || redirects["/" + path];
- if (redirectUrl) {
- redirect(redirectUrl);
- } else {
- return Page404();
- }
+ return redirectOr404(state.href);
}
const markdownFile = fs.readFileSync(`./documents/${path}.md`, "utf-8");