diff options
| author | LMBishop <13875753+LMBishop@users.noreply.github.com> | 2021-12-21 15:16:27 +0000 |
|---|---|---|
| committer | LMBishop <13875753+LMBishop@users.noreply.github.com> | 2021-12-21 15:16:27 +0000 |
| commit | e70fd3594cfa8e0e29c3e9fb25991a9bad048469 (patch) | |
| tree | 6984c870820526bfc48ced41cbd5c0a1c580ad4f /app/routes/page/router.ts | |
| parent | f4b697f0e4248ecbeb9606a113d602e28c740b38 (diff) | |
Seperate router modules from index.ts
Diffstat (limited to 'app/routes/page/router.ts')
| -rw-r--r-- | app/routes/page/router.ts | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/app/routes/page/router.ts b/app/routes/page/router.ts new file mode 100644 index 0000000..89cd59a --- /dev/null +++ b/app/routes/page/router.ts @@ -0,0 +1,36 @@ +import express, { Router } 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) => { + let page = res.locals.page; + + if (!page) { + next(); + return; + } + + res.type('text/plain'); + res.send(page.raw).end(); +}); + +router.get('/:page?', navbar, (req, res, next) => { + let 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) + }); +}); |
