From 80d8ce1463f331fc9d44fba059cc5b5958c8e0af Mon Sep 17 00:00:00 2001 From: Utsob Roy Date: Fri, 17 Mar 2023 01:35:38 +0600 Subject: [PATCH] support for hide in filetree (#106) --- src/site/_data/filetree.js | 17 +++++++++-------- src/site/_includes/components/filetree.njk | 2 +- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/src/site/_data/filetree.js b/src/site/_data/filetree.js index 51b4f9c..3a23338 100644 --- a/src/site/_data/filetree.js +++ b/src/site/_data/filetree.js @@ -46,6 +46,7 @@ function getPermalinkMeta(path, key) { let permalink = "/"; let name = key.replace(".md", ""); let noteIcon = process.env.NOTE_ICON_DEFAULT; + let hide = false; try { const file = fs.readFileSync(`${path}`, "utf8"); const frontMatter = matter(file); @@ -61,11 +62,16 @@ function getPermalinkMeta(path, key) { if (frontMatter.data.noteIcon) { noteIcon = frontMatter.data.noteIcon; } + // Reason for adding the hide flag instead of removing completely from file tree is to + // allow users to use the filetree data elsewhere without the fear of losing any data. + if (frontMatter.data.hide) { + hide = frontMatter.data.hide; + } } catch { //ignore } - return { permalink, name, noteIcon }; + return { permalink, name, noteIcon, hide }; } function populateWithPermalink(tree) { @@ -74,13 +80,8 @@ function populateWithPermalink(tree) { const isNote = tree[key].path.endsWith(".md"); tree[key].isNote = isNote; if (isNote) { - let { permalink, name, noteIcon } = getPermalinkMeta( - tree[key].path, - key - ); - tree[key].permalink = permalink; - tree[key].name = name; - tree[key].noteIcon = noteIcon; + let meta = getPermalinkMeta(tree[key].path, key); + Object.assign(tree[key], meta); } } else { tree[key].isFolder = true; diff --git a/src/site/_includes/components/filetree.njk b/src/site/_includes/components/filetree.njk index af01da4..639558c 100644 --- a/src/site/_includes/components/filetree.njk +++ b/src/site/_includes/components/filetree.njk @@ -1,7 +1,7 @@ {% macro menuItem(fileOrFolderName, fileOrFolder, step, currentPath) %} {%if fileOrFolder.isNote or fileOrFolder.isFolder%}