From 9a599aebeada7f95170dac98c3f30023d9e7453f Mon Sep 17 00:00:00 2001
From: Rune Antonsen <rune.antonsen@gmail.com>
Date: Mon, 20 Nov 2023 16:28:16 +0000
Subject: [PATCH] feat(breadcrumbs): add option to hide current page (#601)
---
quartz/components/Breadcrumbs.tsx | 15 +++++++++++----
docs/features/breadcrumbs.md | 1 +
2 files changed, 12 insertions(+), 4 deletions(-)
diff --git a/docs/features/breadcrumbs.md b/docs/features/breadcrumbs.md
index 20c3b8d..a241aac 100644
--- a/docs/features/breadcrumbs.md
+++ b/docs/features/breadcrumbs.md
@@ -20,6 +20,7 @@
rootName: "Home", // name of first/root element
resolveFrontmatterTitle: true, // whether to resolve folder names through frontmatter titles
hideOnRoot: true, // whether to hide breadcrumbs on root `index.md` page
+ showCurrentPage: true, // wether to display the current page in the breadcrumbs
})
```
diff --git a/quartz/components/Breadcrumbs.tsx b/quartz/components/Breadcrumbs.tsx
index 29c73a8..8998c40 100644
--- a/quartz/components/Breadcrumbs.tsx
+++ b/quartz/components/Breadcrumbs.tsx
@@ -25,6 +25,10 @@
* Wether to display breadcrumbs on root `index.md`
*/
hideOnRoot: boolean
+ /**
+ * Wether to display the current page in the breadcrumbs.
+ */
+ showCurrentPage: boolean
}
const defaultOptions: BreadcrumbOptions = {
@@ -32,6 +36,7 @@
rootName: "Home",
resolveFrontmatterTitle: true,
hideOnRoot: true,
+ showCurrentPage: true,
}
function formatCrumb(displayName: string, baseSlug: FullSlug, currentSlug: SimpleSlug): CrumbData {
@@ -95,10 +100,12 @@
}
// Add current file to crumb (can directly use frontmatter title)
- crumbs.push({
- displayName: fileData.frontmatter!.title,
- path: "",
- })
+ if (options.showCurrentPage) {
+ crumbs.push({
+ displayName: fileData.frontmatter!.title,
+ path: "",
+ })
+ }
}
return (
<nav class={`breadcrumb-container ${displayClass ?? ""}`} aria-label="breadcrumbs">
--
Gitblit v1.10.0