From 8eb1554b13532a2441b41d2018800c56cfa84ce9 Mon Sep 17 00:00:00 2001 From: Ben Schlegel <31989404+benschlegel@users.noreply.github.com> Date: Thu, 21 Sep 2023 18:54:33 +0200 Subject: [PATCH] fix(explorer): display names for folders without frontmatter (#494) * fix(explorer): display name for folders without `index` file * docs(explorer): add section for folder display names --- docs/features/explorer.md | 2 ++ quartz/components/ExplorerNode.tsx | 5 ++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/docs/features/explorer.md b/docs/features/explorer.md index f48ad1b2..4568ec01 100644 --- a/docs/features/explorer.md +++ b/docs/features/explorer.md @@ -8,6 +8,8 @@ Quartz features an explorer that allows you to navigate all files and folders on By default, it shows all folders and files on your page. To display the explorer in a different spot, you can edit the [[layout]]. +Display names for folders get determined by the `title` frontmatter field in `folder/index.md` (more detail in [[Authoring Content]]). If this file does not exist or does not contain frontmatter, the local folder name will be used instead. + > [!info] > The explorer uses local storage by default to save the state of your explorer. This is done to ensure a smooth experience when navigating to different pages. > diff --git a/quartz/components/ExplorerNode.tsx b/quartz/components/ExplorerNode.tsx index 9bdd0dfc..e5ceb0bf 100644 --- a/quartz/components/ExplorerNode.tsx +++ b/quartz/components/ExplorerNode.tsx @@ -46,7 +46,10 @@ export class FileNode { if (file.path[0] !== "index.md") { this.children.push(new FileNode(file.file.frontmatter!.title, file.file, this.depth + 1)) } else { - this.displayName = file.file.frontmatter!.title + const title = file.file.frontmatter?.title + if (title && title !== "index" && file.path[0] === "index.md") { + this.displayName = title + } } } else { const next = file.path[0]