mirror of
https://github.com/len0rd/personal-website.git
synced 2025-03-01 03:51:57 -05:00
43 lines
1.3 KiB
JavaScript
43 lines
1.3 KiB
JavaScript
const PORT = 8090;
|
|
var express = require('express');
|
|
const path = require("path");
|
|
var app = express();
|
|
|
|
console.log('Starting express server on port ' + PORT);
|
|
|
|
// set the view engine to ejs
|
|
app.set('view engine', 'ejs');
|
|
app.set("views", path.join(__dirname, "views"));
|
|
|
|
// add folder for static content:
|
|
app.use(express.static(path.join(__dirname, 'assets')));
|
|
|
|
function getRootPage(req, res) {
|
|
let pageName = req.params["pageName"];
|
|
if (pageName === null || pageName === undefined) {
|
|
pageName = "index";
|
|
}
|
|
// hardcoded check for favicon as it always comes in on /favicon.ico :/
|
|
if (req.path.includes("favicon")) {
|
|
res.sendFile(pageName, { root: path.join(__dirname, "assets", "img") });
|
|
}
|
|
else {
|
|
res.render(path.join("pages", pageName));
|
|
}
|
|
}
|
|
|
|
app.get("/:pageName", getRootPage);
|
|
app.get("/", getRootPage);
|
|
|
|
app.get("/projects/:projectName", (req, res) => {
|
|
res.sendFile(req.params["projectName"], { root: path.join(__dirname, "assets", "projects") })
|
|
});
|
|
|
|
app.get("/recipes/:recipeName", (req, res) => {
|
|
let pathname = path.join("pages", "recipes", "recipe_template");
|
|
let page = path.join("partials", "md", "recipes", req.params["recipeName"])
|
|
res.render(pathname, { "page": page });
|
|
});
|
|
|
|
app.listen(PORT);
|