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