Files
FixIt/assets/js/modules
Cell 2d0b34b1c6 perf(assets): optimize TOC tracking and refactor heading numbers to CSS counters (#834)
* perf(assets): optimize TOC scroll tracking and collapse behavior

- Replace linear scan + getBoundingClientRect with cached offsets and binary search
- Add rAF throttle to syncTocActiveState for per-frame update limit
- Use diff-based has-active class updates to avoid visual flash
- Simplify collapse CSS (remove broken @supports grid-animation block)
- Replace scrollTop assignment with smooth scrollIntoView

* refactor(assets): replace template heading numbers with CSS counters

- Remove heading counter map and format logic from render-heading.html
- Add CSS counters for h2-h6 numbering via .heading-numbered::before
- Add CSS counters for TOC ol numbering via ::marker
- Use :has(:nth-child(10)) for adaptive ol padding by digit count
- Remove [params.heading.number.format] config (CSS uses fixed format)

* feat(layouts): add print button to sidebar TOC title

- Add print icon button next to TOC title text in sidebar
- Use event.stopPropagation() to prevent TOC toggle on click
- Add "print" i18n key to all 19 language files
- Style print button with secondary color and hover effect
2026-08-28 15:00:10 +08:00
..