aboutsummaryrefslogtreecommitdiffstats
path: root/app
diff options
context:
space:
mode:
Diffstat (limited to 'app')
-rw-r--r--app/directory.mjs1
-rw-r--r--app/index.mjs13
-rw-r--r--app/views/page.ejs2
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>