diff options
Diffstat (limited to 'app/middlewares')
| -rw-r--r-- | app/middlewares/blogs.ts | 17 | ||||
| -rw-r--r-- | app/middlewares/index.ts | 15 |
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; |
