diff options
Diffstat (limited to 'app')
| -rw-r--r-- | app/directory.mjs | 1 | ||||
| -rw-r--r-- | app/index.mjs | 13 | ||||
| -rw-r--r-- | app/views/page.ejs | 2 |
3 files changed, 15 insertions, 1 deletions
diff --git a/app/directory.mjs b/app/directory.mjs index 89a6ee9..5bdaded 100644 --- a/app/directory.mjs +++ b/app/directory.mjs @@ -35,6 +35,7 @@ export function buildPage(path) { let page = { html: content, + raw: data, buildTime: result.metadata.buildTime, hidden: result.metadata.hidden, displayTitle: title diff --git a/app/index.mjs b/app/index.mjs index 08bd8cb..cf47100 100644 --- a/app/index.mjs +++ b/app/index.mjs @@ -17,6 +17,19 @@ app.use(express.static(__dirname + '/static')); app.set('view engine', 'ejs'); app.set('views', __dirname + '/views'); +app.get('/:page.wiki', (req, res) => { + let path = req.params.page; + let page = directory.pageFor(path); + + if (!page) { + error(res, 404); + return; + } + + res.type('text/plain'); + res.send(page.raw).end(); +}); + app.get('/:page?', (req, res) => { let path = req.params.page ?? 'index'; let page = directory.pageFor(path); diff --git a/app/views/page.ejs b/app/views/page.ejs index 331611a..bca4828 100644 --- a/app/views/page.ejs +++ b/app/views/page.ejs @@ -10,7 +10,7 @@ <div id="content"> <%- content %> <hr> - <span class=footer><a href="https://github.com/LMBishop/website">GitHub</a> | Page built: <%= buildTime %> | <a href="/special/purge/<%= path %>">Purge this page</a></span> + <span class=footer><a href="https://github.com/LMBishop/website">GitHub</a> | <a href="/<%= path %>.wiki">View raw</a> | Page built: <%= buildTime %> | <a href="/special/purge/<%= path %>">Purge this page</a></span> </div> </div> </body> |
