Fix #672: Prevent duplicate heading IDs in Docusaurus #679
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.
Fix #672
This PR fixes the issue where two headings could end up with the same ID in Docusaurus. By default, if two titles have the same text (e.g.
## Example
and### Example
), Docusaurus’s slugger utility is smart enough to handle this in a stateful way by adding-1
,-2
etc suffixes. However, if we manually override the ID (e.g.# Example {#custom-id}
), collisions can occur. To prevent this, I wrote a very simple markdownlint rule and fixed the problematic cases. Additionally, this PR updates the markdownlint configuration to use the official markdownlint CLI tool, which properly supports custom rules.