remove emabssy pro page and implement 404 page

This commit is contained in:
Matt Hill
2024-01-31 09:12:18 -07:00
parent 8f9f1f6ee9
commit ec170dbf6f
4 changed files with 26 additions and 72 deletions

View File

@@ -4,6 +4,10 @@ const pluginSEO = require("eleventy-plugin-seo");
const tinysvg = require('@sardine/eleventy-plugin-tinysvg');
const slinkity = require('slinkity')
// for 404 callback
const fs = require("fs");
const NOT_FOUND_PATH = "_site/404.html";
module.exports = function (eleventyConfig) {
eleventyConfig.addPassthroughCopy('./src/assets/images/');
eleventyConfig.addPassthroughCopy('./src/assets/videos/');
@@ -22,6 +26,27 @@ module.exports = function (eleventyConfig) {
return format(date, dateFormat)
})
// 404 callback
eleventyConfig.setBrowserSyncConfig({
callbacks: {
ready: function(err, bs) {
bs.addMiddleware("*", (req, res) => {
if (!fs.existsSync(NOT_FOUND_PATH)) {
throw new Error(`Expected a \`${NOT_FOUND_PATH}\` file but could not find one. Did you create a 404.html template?`);
}
const content_404 = fs.readFileSync(NOT_FOUND_PATH);
// Add 404 http status code in request header.
res.writeHead(404, { "Content-Type": "text/html; charset=UTF-8" });
// Provides the 404 content without redirect.
res.write(content_404);
res.end();
});
}
}
});
return {
dir: { input: "src", output: "_site", data: "_data" },
};