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
This commit is contained in:
Ben Schlegel 2023-09-21 18:54:33 +02:00 committed by GitHub
parent f1fdbd3452
commit 476ae69e9d
2 changed files with 6 additions and 1 deletions

View File

@ -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]]. 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] > [!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. > 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.
> >

View File

@ -46,7 +46,10 @@ export class FileNode {
if (file.path[0] !== "index.md") { if (file.path[0] !== "index.md") {
this.children.push(new FileNode(file.file.frontmatter!.title, file.file, this.depth + 1)) this.children.push(new FileNode(file.file.frontmatter!.title, file.file, this.depth + 1))
} else { } 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 { } else {
const next = file.path[0] const next = file.path[0]