|
|
|
@ -52,19 +52,24 @@ const configure = async (fastify, opts) => { |
|
|
|
|
app.register(Formbody); |
|
|
|
|
|
|
|
|
|
app.get("/*", (req, rep) => { |
|
|
|
|
const target = path.resolve(path.join("pages", req.url)); |
|
|
|
|
const index = path.resolve(path.join("pages", req.url, "index.html")); |
|
|
|
|
|
|
|
|
|
if(fs.existsSync(index)) { |
|
|
|
|
const result = nunjucks.render(index); |
|
|
|
|
rep.code(200).type("text/html").send(result); |
|
|
|
|
} else if(fs.existsSync(target)) { |
|
|
|
|
const fname = req.url.slice(1); |
|
|
|
|
const result = nunjucks.render(fname); |
|
|
|
|
rep.code(200).type("text/html").send(result); |
|
|
|
|
} else { |
|
|
|
|
console.error("404 NOT FOUND", target, "NO INDEX", index); |
|
|
|
|
rep.code(404).type("text/html").send("Not Found"); |
|
|
|
|
try { |
|
|
|
|
const target = path.resolve(path.join("pages", req.url)); |
|
|
|
|
const index = path.resolve(path.join("pages", req.url, "index.html")); |
|
|
|
|
|
|
|
|
|
if(fs.existsSync(index) && !fs.statSync(index).isDirectory()) { |
|
|
|
|
const result = nunjucks.render(index); |
|
|
|
|
rep.code(200).type("text/html").send(result); |
|
|
|
|
} else if(fs.existsSync(target)) { |
|
|
|
|
const fname = req.url.slice(1); |
|
|
|
|
const result = nunjucks.render(fname); |
|
|
|
|
rep.code(200).type("text/html").send(result); |
|
|
|
|
} else { |
|
|
|
|
console.error("404 NOT FOUND", target, "NO INDEX", index); |
|
|
|
|
rep.code(404).type("text/html").send("Not Found"); |
|
|
|
|
} |
|
|
|
|
} catch(error) { |
|
|
|
|
console.error(error); |
|
|
|
|
rep.code(500).type("text/html").send("Internal Server Error"); |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|