diff --git a/plugin-info.json b/plugin-info.json index b9ff92f..7b32260 100644 --- a/plugin-info.json +++ b/plugin-info.json @@ -2,7 +2,8 @@ "filesToDelete": [ "src/site/styles/style.css", "src/site/index.njk", - "src/site/index.11tydata.js" + "src/site/index.11tydata.js", + "src/site/_data/filetree.js" ], "filesToAdd": [ "src/site/styles/custom-style.scss", @@ -53,11 +54,11 @@ "src/site/lunr.njk", "src/site/_data/versionednotes.js", "src/site/_data/meta.js", - "src/site/_data/filetree.js", "src/site/_data/dynamics.js", "src/site/img/outgoing.svg", "src/helpers/constants.js", "src/helpers/utils.js", + "src/helpers/filetreeUtils.js", "src/helpers/linkUtils.js", "netlify/functions/search/search.js", "src/site/get-theme.js", diff --git a/src/helpers/filetreeUtils.js b/src/helpers/filetreeUtils.js index a799f34..abe3306 100644 --- a/src/helpers/filetreeUtils.js +++ b/src/helpers/filetreeUtils.js @@ -2,6 +2,17 @@ const sortTree = (unsorted) => { //Sort by folder before file, then by name const orderedTree = Object.keys(unsorted) .sort((a, b) => { + + let a_pinned = unsorted[a].pinned || false; + let b_pinned = unsorted[b].pinned || false; + if (a_pinned != b_pinned) { + if (a_pinned) { + return -1; + } else { + return 1; + } + } + const a_is_note = a.indexOf(".md") > -1; const b_is_note = b.indexOf(".md") > -1; @@ -46,6 +57,7 @@ function getPermalinkMeta(note, key) { let name = parts[parts.length - 1]; let noteIcon = process.env.NOTE_ICON_DEFAULT; let hide = false; + let pinned = false; let folders = null; try { if (note.data.permalink) { @@ -65,6 +77,9 @@ function getPermalinkMeta(note, key) { if (note.data.hide) { hide = note.data.hide; } + if (frontMatter.data.pinned) { + pinned = frontMatter.data.pinned; + } if (note.data["dg-path"]) { folders = note.data["dg-path"].split("/"); } else { @@ -77,7 +92,7 @@ function getPermalinkMeta(note, key) { //ignore } - return [{ permalink, name, noteIcon, hide }, folders]; + return [{ permalink, name, noteIcon, hide, pinned }, folders]; } function assignNested(obj, keyPath, value) {