aboutsummaryrefslogtreecommitdiffstats
path: root/app/middlewares
diff options
context:
space:
mode:
Diffstat (limited to 'app/middlewares')
-rw-r--r--app/middlewares/blogs.ts17
-rw-r--r--app/middlewares/index.ts15
2 files changed, 21 insertions, 11 deletions
diff --git a/app/middlewares/blogs.ts b/app/middlewares/blogs.ts
new file mode 100644
index 0000000..8fd07c6
--- /dev/null
+++ b/app/middlewares/blogs.ts
@@ -0,0 +1,17 @@
+import { PageDirectory } from "../pages.js";
+
+export const blogs = ((req, res, next) => {
+ let blogs = [];
+ for (const page of Object.values(PageDirectory.pages)) {
+ if (page.route.startsWith('blog/')) {
+ blogs.push(page);
+ }
+ }
+
+ blogs.sort((a, b) => {
+ return b.metadata.date.getTime() - a.metadata.date.getTime();
+ });
+
+ res.locals.blogs = blogs;
+ next();
+});
diff --git a/app/middlewares/index.ts b/app/middlewares/index.ts
index d07726a..81431ca 100644
--- a/app/middlewares/index.ts
+++ b/app/middlewares/index.ts
@@ -1,18 +1,11 @@
-export const navbar = ((req, res, next) => {
- let navbar = '';
- res.locals.directory.primaryPages.forEach(page => {
- navbar += `<div class="navbar-element"><a href="/${page.standardName}"${(req.params.page ?? '' )== page.standardName ? ' class="highlight"' : ''}>${page.metadata.displayTitle}</a></div>`;
- })
- res.locals.navbarHtml = navbar;
- next();
-});
+import { PageDirectory } from "../pages.js";
export const page = ((req, res, next) => {
- const path = req.params.page ?? 'index';
+ const path = req.originalUrl == "/" ? 'index' : req.originalUrl.substring(1);
res.locals.path = path;
- const page = res.locals.directory.get(path);
-
+ const page = PageDirectory.get(path);
+
if (!page) {
next();
return;