From 0519291bda1f0c168ed0878f271e2c1887f3c05f Mon Sep 17 00:00:00 2001 From: Joseph Montanaro Date: Fri, 25 Aug 2023 22:22:39 -0700 Subject: [PATCH] limit toc to two levels and vary style --- src/lib/Toc.svelte | 67 ++++++++++++++++++++++++++++++++-------------- 1 file changed, 47 insertions(+), 20 deletions(-) diff --git a/src/lib/Toc.svelte b/src/lib/Toc.svelte index 65ada56..276b28e 100644 --- a/src/lib/Toc.svelte +++ b/src/lib/Toc.svelte @@ -6,15 +6,23 @@ items.forEach(i => i.slug = makeSlug(i.text)); - const selector = 'h1[id], h2[id], h3[id], h4[id], h6[id]'; + const selector = 'h2[id], h3[id]'; let currentHeadingSlug = null; + let currentSubheadingSlug = null; function setCurrentHeading() { for (const h of document.querySelectorAll(selector)) { const yPos = h.getBoundingClientRect().y; if (yPos > (window.innerHeight / 3)) { break; } - currentHeadingSlug = h.id; + if (h.tagName === 'H2') { + currentHeadingSlug = h.id; + currentSubheadingSlug = null; + } + if (h.tagName === 'H3') { + currentSubheadingSlug = h.id + } + console.log(currentHeadingSlug, currentSubheadingSlug); } } @@ -26,7 +34,6 @@