-
-
Notifications
You must be signed in to change notification settings - Fork 57
Open
Description
Thank you for making such a great plugin.
I created a markdown file (available here) designed to see how GitHub generates heading IDs in different cases ranging from common (like headings containing non-[a-z] letters like the German ß, Arabic ا, and Chinese 猫, to weird cases with numbers at the end of headings.
Several of the headings generated by this plugin when I run :GenTocGFM in that file are different than the ones generated by GitHub.
Most of the issues had to do with headings with numbers at the end, though the Arabic ا was incorrectly deleted, as was a trailing underscore.
Click here to see what this plugin generates for my test file, with notes where it got it wrong.
<!-- vim-markdown-toc GFM -->
* [test.md](#testmd)
* [Same Level Same Name](#same-level-same-name)
* [Same Level Same Name](#same-level-same-name-1)
* [Different Level Same Name](#different-level-same-name)
* [Different Level Same Name](#different-level-same-name-1)
* [Same Name Differing Caps](#same-name-differing-caps)
* [SAME NAME DIFFERING CAPS](#same-name-differing-caps-1)
* [same name differing caps](#same-name-differing-caps-2)
* [Same Name( )different-Non-»letter° chars](#same-name---different-non-letter-chars)
* [Same Name &^$ different Non letter chars](#same-name--different-non-letter-chars)
* [Same Name but One Has Code](#same-name-but-one-has-code)
* [Same Name `but` One `Has Code`](#same-name-but-one-has-code-1)
* [Ending Number Trickery](#ending-number-trickery)
* [Ending Number Trickery](#ending-number-trickery-1)
* [Ending Number Trickery 1](#ending-number-trickery-1) <!-- should be "ending-number-trickery-1-1" -->
* [Ending Number Trickery](#ending-number-trickery-2)
* [Ending Number Trickery 2](#ending-number-trickery-2) <!-- should be "ending-number-trickery-2-1" -->
* [Other Ending Number Trickery 1](#other-ending-number-trickery-1)
* [Other Ending Number Trickery](#other-ending-number-trickery)
* [Other Ending Number Trickery](#other-ending-number-trickery-1) <!-- should be "other-ending-number-trickery-2" -->
* [Final Ending Number Trickery](#final-ending-number-trickery)
* [Final Ending Number Trickery](#final-ending-number-trickery-1)
* [Final Ending Number Trickery 1](#final-ending-number-trickery-1) <!-- should be "final-ending-number-trickery-1-1" -->
* [Final Ending Number Trickery 1 1](#final-ending-number-trickery-1-1) <!-- should be "final-ending-number-trickery-1-1-1" -->
* [Final Ending Number Trickery 1 1](#final-ending-number-trickery-1-1-1) <!-- should be "final-ending-number-trickery-1-1-2" -->
* [Underscored_heading](#underscored_heading)
* [Multiple__underscores](#multiple__underscores)
* [\_Leading_underscore](#_leading_underscore)
* [Trailing_underscore\_](#trailing_underscore) <!-- should be "trailing_underscore_" -->
* [Heading with non-`[a-z]` letters like ß, ا, and 猫](#heading-with-non-a-z-letters-like-ß--and-猫) <!-- should be "heading-with-non-a-z-letters-like-ß-ا-and-猫" -->
* [Heading with a Chinese punctuation mark (specifically '】')](#heading-with-a-chinese-punctuation-mark-specifically-)
<!-- vim-markdown-toc -->
# test.md
## Same Level Same Name
## Same Level Same Name
## Different Level Same Name
### Different Level Same Name
## Same Name Differing Caps
## SAME NAME DIFFERING CAPS
## same name differing caps
## Same Name( )different-Non-»letter° chars
## Same Name &^$ different Non letter chars
## Same Name but One Has Code
## Same Name `but` One `Has Code`
## Ending Number Trickery
## Ending Number Trickery
## Ending Number Trickery 1
## Ending Number Trickery
## Ending Number Trickery 2
## Other Ending Number Trickery 1
## Other Ending Number Trickery
## Other Ending Number Trickery
## Final Ending Number Trickery
## Final Ending Number Trickery
## Final Ending Number Trickery 1
## Final Ending Number Trickery 1 1
## Final Ending Number Trickery 1 1
## Underscored_heading
## Multiple__underscores
## \_Leading_underscore
## Trailing_underscore\_
## Heading with non-`[a-z]` letters like ß, ا, and 猫
## Heading with a Chinese punctuation mark (specifically '】')Metadata
Metadata
Assignees
Labels
No labels