diff options
| author | LMBishop <13875753+LMBishop@users.noreply.github.com> | 2021-11-22 12:58:43 +0000 |
|---|---|---|
| committer | LMBishop <13875753+LMBishop@users.noreply.github.com> | 2021-11-22 12:58:43 +0000 |
| commit | 00d757863fa30137dd103470c947d4922ba4a112 (patch) | |
| tree | f0d4e59a0d91ce1d5779d2b49f075047c1f77b1c /app/directory.mjs | |
| parent | 5cda4203d94bce78479f554b797f44c646b7b57c (diff) | |
Add navbar sort order
Diffstat (limited to 'app/directory.mjs')
| -rw-r--r-- | app/directory.mjs | 26 |
1 files changed, 19 insertions, 7 deletions
diff --git a/app/directory.mjs b/app/directory.mjs index 5be6cce..4b5339c 100644 --- a/app/directory.mjs +++ b/app/directory.mjs @@ -37,7 +37,8 @@ export function buildPage(path) { html: content, raw: data, buildTime: result.metadata.buildTime, - hidden: result.metadata.hidden ?? false, + primary: result.metadata.primary ?? false, + sortOrder: result.metadata.sortOrder ?? -1, notitle: result.metadata.notitle ?? false, displayTitle: title }; @@ -57,6 +58,17 @@ export function rebuild() { file = file.replace('.wiki', ''); buildPage(file); }); + + let primaryPages = []; + for (const page of Object.keys(pages)) { + if (pages[page].primary) { + primaryPages.push(page); + } + } + primaryPages.sort((a, b) => { + return a.sortOrder - b.sortOrder; + }); + metadata.navbar = primaryPages; metadata.fileTreeBuildTime = new Date(); } @@ -89,12 +101,12 @@ export function getPages() { } export function getNavbar(current = '') { - let navbar = ''; - for (const path of Object.keys(pages)) { - if (pages[path].hidden) { - continue; - } - navbar = navbar + `<div class="navbar-element"><a href="/${path}"${current == path ? ' class="highlight"' : ''}>${pages[path].displayTitle}</a></div>`; + if (!metadata.navbar) { + return ''; + } + let navbar = ''; + for (const page of metadata.navbar) { + navbar = navbar + `<div class="navbar-element"><a href="/${page}"${current == page ? ' class="highlight"' : ''}>${pages[page].displayTitle}</a></div>`; } return navbar; } |
