From 8d3360880830fd2aaed986a8816961e5110c7b3b Mon Sep 17 00:00:00 2001
From: Jacky Zhao <j.zhao2k19@gmail.com>
Date: Mon, 10 Mar 2025 07:08:06 +0000
Subject: [PATCH] fix(popovers): clear id to avoid anchor jumps within popover

---
 quartz/styles/base.scss                     |    4 ++++
 quartz/components/scripts/popover.inline.ts |    2 ++
 2 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/quartz/components/scripts/popover.inline.ts b/quartz/components/scripts/popover.inline.ts
index b01af0e..7337793 100644
--- a/quartz/components/scripts/popover.inline.ts
+++ b/quartz/components/scripts/popover.inline.ts
@@ -82,6 +82,8 @@
       const contents = await response.text()
       const html = p.parseFromString(contents, "text/html")
       normalizeRelativeURLs(html, targetUrl)
+      // strip all IDs from elements to prevent duplicates
+      html.querySelectorAll("[id]").forEach((el) => el.removeAttribute("id"))
       const elts = [...html.getElementsByClassName("popover-hint")]
       if (elts.length === 0) return
 
diff --git a/quartz/styles/base.scss b/quartz/styles/base.scss
index e0ab076..9d9d638 100644
--- a/quartz/styles/base.scss
+++ b/quartz/styles/base.scss
@@ -351,6 +351,10 @@
   &[id]:hover > a {
     opacity: 1;
   }
+
+  &:not([id]) > a[role="anchor"] {
+    display: none;
+  }
 }
 
 // typography improvements

--
Gitblit v1.10.0