Sphinx + reStructuredText 中的内联代码 Link

Inline Code Link in Sphinx + reStructuredText

在 Markdown 中,可以像这样创建一个内联代码link

[`dict.update`](https://docs.python.org/3/library/stdtypes.html#dict.update)

呈现方式类似于 dict.update。如何在 reStructuredText / Sphinx 中获得类似的行为?我试过 (1) 使用转换器,但它从来没有产生类似的结果 (2) 嵌套外部 link `link <link>`_ 和内联代码块 :code:`dict.update`,但这也不起作用。

正确的方法是使用 sphinx.ext.intersphinx 扩展。

在你的conf.py中添加

extensions = [
    'sphinx.ext.intersphinx',  # the last entry does not use a comma.
    # 'sphinx.ext.autodoc',  # just for example so there is more than 1 line.
]


intersphinx_mapping = {'python': ('https://docs.python.org/3', None)}

# If you having an `objects.inv` for local builds
# intersphinx_mapping = {"python": ("https://docs.python.org/3", 'objects.inv'),}

然后在你的 .rst 文件或 .py 文件的文档字符串中写一个简单的交叉引用。请注意,dict.update 是一种方法,因此在交叉引用时应使用正确的角色 (:py:meth:)。下面的例子

A simple text to :meth:`dict.update`

将给出以下 HTML 输出(工具提示和交叉引用的 link 也包含在屏幕截图中)