Markdown 链接到 Sphinx 中的 reStructuredText 锚点

was*_*zil 3 python anchor markdown restructuredtext python-sphinx

是否可以以任何方式插入指向 reStructuredText 文件中锚点的 Markdown 文件的链接?

我有一个项目文档,其中也包含 .rst 和 .md 文件,并且我正在使用m2rr Sphinx 扩展,但它似乎只支持文件内的 rst 锚链接。

有什么办法可以实现这一点吗?

Ste*_*rcy 7

Markdown 本身不支持跨文档的任意位置的交叉引用。

一种解决方法是插入基于 HTML 的锚点。

[My Label](/root-relative-url.html#anchor-in-page)
Run Code Online (Sandbox Code Playgroud)

另一种选择是使用MyST在这里,您将使用MyST 语法或嵌入 reST 语法,而不是使用 markdown 作为锚点。

目标标头使用以下语法定义:

(header_target)=
Run Code Online (Sandbox Code Playgroud)

然后可以使用 ref 内联角色引用它们:

{ref}`header_target`
Run Code Online (Sandbox Code Playgroud)

默认情况下,引用将使用目标的文本(例如章节标题),但您也可以直接指定文本:

{ref}`my text <header_target>`
Run Code Online (Sandbox Code Playgroud)