Improve the JS script to highlight the current ToC entry #1991
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The code relied on an
IntersectionOberver
, so the ToC was only updated when a heading was in the viewport.It meant that if we jumped to a part of the text that has no heading, the ToC would still point to the old entry. This issue can be reproduced by clicking on a link to an endpoint definition, clicking somewhere in the scrollbar, or using the search function from the browser.
The new code looks for the correct heading when the view is scrolled so the correct entry is always selected.
Pull Request Checklist
Preview: https://pr1991--matrix-spec-previews.netlify.app