Markdown含转义字符图标的标题目录链接失效求解
这个问题我之前也踩过坑!Markdown解析器处理带HTML实体的标题时,生成锚点的逻辑会和你直接写转义字符的方式不匹配,给你两个靠谱的解决办法:
方案一:适配自动生成的锚点
当你写标题 ## A Title with icon ✏ 时,解析器会先把✏解码成实际的图标字符✏️,然后生成锚点:将标题转小写、空格替换为连字符,最终锚点是 #a-title-with-icon-✏️。
基于这个逻辑,你可以选两种呈现方式:
- 想保留目录里的图标:把目录链接改成这样:
这样目录显示带图标,点击能精准跳转。- [A Title with icon ✏️](#a-title-with-icon-✏️) - 想移除目录里的图标:只保留文本部分,链接指向正确的锚点即可:
目录里看不到图标,但点击依然能跳转到带图标的标题。- [A Title with icon](#a-title-with-icon-✏️)
方案二:手动指定锚点(更稳妥,适配所有解析器)
如果担心不同Markdown解析器生成的锚点有差异,你可以给标题手动绑定一个自定义锚点,彻底摆脱自动生成的限制:
修改你的标题为:
## A Title with icon ✏ {#custom-title-id}
然后目录里的链接直接用这个自定义ID:
- [A Title with icon](#custom-title-id)
这种方式不管标题里有什么特殊字符、HTML实体,只要锚点ID和你指定的一致,就能100%正常跳转,而且目录里可以自由选择是否显示图标。
内容的提问来源于stack exchange,提问作者Phate
相关产品推荐
相关产品推荐

