aboutsummaryrefslogtreecommitdiffstats
path: root/app/routes/page/router.ts
blob: af5e8441e054e7d9501d3ec0596e5b957b16de96 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import express from 'express';
import { navbar, page } from '../../middlewares/index.js';

export const router = express.Router({ mergeParams: true });

router.use('/:page.wiki', page);
router.use('/:page?', page);

router.get('/:page.wiki', (req, res, next) => {
    const page = res.locals.page;

    if (!page) {
        next();
        return;
    }

    res.type('text/plain');
    res.send(page.raw).end();
});

router.get('/:page?', navbar, (req, res, next) => {
    const page = res.locals.page;

    if (!page) {
        next();
        return;
    } 

    res.render('page.ejs', {
        navbar: res.locals.navbarHtml,
        path: res.locals.path,
        content: page.html,
        title: page.metadata.displayTitle,
        buildTime: new Date(page.buildTime)
    });
});