如何交叉引用由YAML定义标题的章节?已尝试方法无效
章节锚点引用问题解决方案
问题场景
我尝试通过YAML头定义章节ID来实现章节引用,写法如下:
--- id: sec-method title: Methods --- See @sec-method
但该写法无效。想请教是否有可行方案,还是只能使用以下写法?
# Methods {#sec-method} See @sec-method
可行方案说明
这取决于你使用的Markdown处理工具:
方案一:使用标准Markdown锚点链接(推荐)
大部分支持YAML frontmatter的工具(如Docusaurus、Jekyll)会将YAML中的id字段作为章节的HTML锚点ID。此时无需使用@sec-method这类自定义语法,直接用标准锚点链接即可:--- id: sec-method title: Methods --- See [Methods](#sec-method)这种写法兼容性强,几乎所有工具都能识别。
方案二:保留
@引用语法的替代方式
如果你的场景必须使用@xxx这类引用语法,需确认工具是否支持将YAML的id映射为引用标识符。若工具无此功能,那确实只能采用# Methods {#sec-method}这种行内锚点定义写法——这是CommonMark规范兼容的写法,所有Markdown处理器都能识别,@sec-method也能正常关联到该锚点。
内容的提问来源于stack exchange,提问作者António Duarte
相关产品推荐
相关产品推荐

