From 8d3360880830fd2aaed986a8816961e5110c7b3b Mon Sep 17 00:00:00 2001 From: Jacky Zhao Date: Mon, 10 Mar 2025 00:08:06 -0700 Subject: [PATCH] fix(popovers): clear id to avoid anchor jumps within popover --- quartz/components/scripts/popover.inline.ts | 2 ++ quartz/styles/base.scss | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/quartz/components/scripts/popover.inline.ts b/quartz/components/scripts/popover.inline.ts index b01af0e85..733779369 100644 --- a/quartz/components/scripts/popover.inline.ts +++ b/quartz/components/scripts/popover.inline.ts @@ -82,6 +82,8 @@ async function mouseEnterHandler( 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 e0ab076b5..9d9d638ba 100644 --- a/quartz/styles/base.scss +++ b/quartz/styles/base.scss @@ -351,6 +351,10 @@ h6 { &[id]:hover > a { opacity: 1; } + + &:not([id]) > a[role="anchor"] { + display: none; + } } // typography improvements