From 21190255137e37d1f023205b11489953b3b3257a Mon Sep 17 00:00:00 2001
From: Stephen Tse <Stephen-X@users.noreply.github.com>
Date: Mon, 31 Mar 2025 00:35:20 +0000
Subject: [PATCH] fix(toc): Fixed headers in second ToC element not highlight-able
---
quartz/components/scripts/toc.inline.ts | 8 ++++----
1 files 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"))
}
}
}
--
Gitblit v1.10.0