From 21190255137e37d1f023205b11489953b3b3257a Mon Sep 17 00:00:00 2001 From: Stephen Tse Date: Sun, 30 Mar 2025 17:35:20 -0700 Subject: [PATCH] fix(toc): Fixed headers in second ToC element not highlight-able --- quartz/components/scripts/toc.inline.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/quartz/components/scripts/toc.inline.ts b/quartz/components/scripts/toc.inline.ts index 6c5ad1c..4148fa2 100644 --- a/quartz/components/scripts/toc.inline.ts +++ b/quartz/components/scripts/toc.inline.ts @@ -1,13 +1,13 @@ const observer = new IntersectionObserver((entries) => { for (const entry of entries) { const slug = entry.target.id - const tocEntryElement = document.querySelector(`a[data-for="${slug}"]`) + const tocEntryElements = document.querySelectorAll(`a[data-for="${slug}"]`) const windowHeight = entry.rootBounds?.height - if (windowHeight && tocEntryElement) { + if (windowHeight && tocEntryElements.length > 0) { if (entry.boundingClientRect.y < windowHeight) { - tocEntryElement.classList.add("in-view") + tocEntryElements.forEach((tocEntryElement) => tocEntryElement.classList.add("in-view")) } else { - tocEntryElement.classList.remove("in-view") + tocEntryElements.forEach((tocEntryElement) => tocEntryElement.classList.remove("in-view")) } } }