From 1d2dc167f4397e230092cc867889a86734343cfc Mon Sep 17 00:00:00 2001
From: Thomas Hack <39602241+tha00@users.noreply.github.com>
Date: Fri, 25 Oct 2024 16:52:33 +0000
Subject: [PATCH] feat(folder): add intermediate folders pages (#1295)
---
quartz/plugins/emitters/folderPage.tsx | 22 ++++++++++++++++------
1 files changed, 16 insertions(+), 6 deletions(-)
diff --git a/quartz/plugins/emitters/folderPage.tsx b/quartz/plugins/emitters/folderPage.tsx
index 7eebb21..b6d8602 100644
--- a/quartz/plugins/emitters/folderPage.tsx
+++ b/quartz/plugins/emitters/folderPage.tsx
@@ -76,12 +76,11 @@
const folders: Set<SimpleSlug> = new Set(
allFiles.flatMap((data) => {
- const slug = data.slug
- const folderName = path.dirname(slug ?? "") as SimpleSlug
- if (slug && folderName !== "." && folderName !== "tags") {
- return [folderName]
- }
- return []
+ return data.slug
+ ? _getFolders(data.slug).filter(
+ (folderName) => folderName !== "." && folderName !== "tags",
+ )
+ : []
}),
)
@@ -133,3 +132,14 @@
},
}
}
+
+function _getFolders(slug: FullSlug): SimpleSlug[] {
+ var folderName = path.dirname(slug ?? "") as SimpleSlug
+ const parentFolderNames = [folderName]
+
+ while (folderName !== ".") {
+ folderName = path.dirname(folderName ?? "") as SimpleSlug
+ parentFolderNames.push(folderName)
+ }
+ return parentFolderNames
+}
--
Gitblit v1.10.0