39 lines
1.1 KiB
JavaScript
39 lines
1.1 KiB
JavaScript
var express = require('express');
|
|
var path = require("path");
|
|
var fs = require("fs");
|
|
var app = express();
|
|
|
|
app.set('view engine', 'ejs');
|
|
app.use("/a", express.static(path.join(__dirname, 'assets')));
|
|
app.use("/assets", express.static(path.join(__dirname, 'assets', "Files")));
|
|
|
|
var getPages = () => JSON.parse(fs.readFileSync(path.join(__dirname, "views", "pages.json"), 'utf8'));
|
|
var getPage = (page) => {
|
|
var pageindexes = getPages();
|
|
console.log(pageindexes.pages, page, pageindexes.pages[page]);
|
|
if (pageindexes.pages[page].link.redirect)
|
|
return getPage(pageindexes.pages[page].link.location);
|
|
return {
|
|
name: page,
|
|
page: pageindexes.pages[page],
|
|
all: pageindexes
|
|
};
|
|
}
|
|
|
|
app.get('/wiki/:page', function(req, res, next) {
|
|
try {
|
|
if (!getPages().pages[req.params.page]) next();
|
|
var page = getPage(req.params.page);
|
|
res.render('index', page);
|
|
} catch (error) {
|
|
next(error);
|
|
}
|
|
});
|
|
|
|
app.use(function(req,res){
|
|
res.status(404).render('index', getPage("404_Not_Found"));
|
|
});
|
|
|
|
app.listen(8080, () => {
|
|
console.log('Server is listening on port 8080');
|
|
});
|