personal-website/server.js

37 lines
1 KiB
JavaScript
Raw Normal View History

const PORT = 8090;
2018-07-23 16:58:23 -04:00
var express = require('express');
const path = require("path");
2018-07-23 16:58:23 -04:00
var app = express();
2021-06-07 20:35:05 -04:00
console.log('Starting express server on port ' + PORT);
2018-07-23 16:58:23 -04:00
// set the view engine to ejs
app.set('view engine', 'ejs');
app.set("views", path.join(__dirname, "views"));
2018-07-23 16:58:23 -04:00
// 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";
}
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);