如何链接/引用文档中的另一个 reST 文件?

问题描述 投票:0回答:8

我根本不知道如何链接到 reST 文件中的另一个文档。

我想将一个名为

install.rst
的文件链接到我的快速入门指南的一个段落中。我不知道如何才能实现这一目标。

请您也参考一个很棒的资源,我可以在其中查找其余语法。默认的快速入门有点无聊,没有涉及如何将 Rest 与 sphinx 一起使用的深入讨论。

有问题的文档是:http://todx.rtfd.io

python-sphinx restructuredtext read-the-docs
8个回答
73
投票

要在不同的 reStructuredText (.rst) 文件之间创建链接,您可以使用 sphinx 提供的内联标记。 请参阅标题下的文档 交叉引用文档

在文件顶部定义其标签

.. _my-reference-label:

然后您可以使用

从其他文档链接到它
:ref:`my-reference-label`.

我认为您不需要使用 intersphinx 扩展,因为它用于不同项目之间的链接。使用此方法,您可以使用相对路径在不同的 .rst 文件之间进行链接,如上面的文档链接中所述。


62
投票

我用这个写了另一个文档的链接:

:doc:`my document <../my_doc>` 

../my_doc
是我的
my_doc.rst
文件的路径。

我的

conf.py
文件中也有 inter-sphinx 扩展。

extensions = ['sphinx.ext.intersphinx']

36
投票

简化@eme-eme的答案,你可以这样做:

:doc:`path/to/document`

您不需要将路径括在 <> 中并提供要显示的文本。在这种情况下,引用文档的顶级标题将显示为链接。

您不需要为此进行 inter-sphinx 扩展。


4
投票

可以使用以下语法链接到现有文件 {example.rst}:

:ref:`Optional Link text <example>`

但是,将其放入主题甚至项目符号中,行为可能会改变。所以,你可以参考最终构建的文件:

`Optional Link text <example.html>`_

这是一个很棒的指南


4
投票

要从项目中的一个页面(.rst 文件)链接到另一页面(不同的 .rst 文件),请使用以下内联格式:

See :ref: `topLevelHeadingofOtherPage`

例如:

See :ref:`Perform Bulk Actions`.

就是这样。我同意,这些信息在 Sphinx 指南中很难找到。因为它太简单了,我认为人们会认为你想做一些更复杂的事情。


2
投票

要引用标题,需要将此扩展名添加到

conf.py
:

   extensions = [
      'sphinx.ext.autosectionlabel',
   ]

然后只需使用

:ref:`Any heading in the project` 

详情请参阅扩展说明。它也可以与 Intersphinx 结合使用。


1
投票

@Ryszard Cetnarski 的建议对我有用,尽管确实需要几次尝试:

我的

overview.rst
文件中的相关文本:

Blah... blah...

.. _overview-database-requirements:

Database requirements
---------------------

Blah... blah...

在我的

my_python.py
文件的文档字符串中:

"""Implement some more abstract base model (table) classes.

Blah... blah...

See :ref:`overview-database-requirements` for more details.
"""

我不必启用任何额外的扩展。


-9
投票

要引用其他文件,我必须在

conf.py
中包含以下内容。我从 Pillow(PIL fork) 的文档中获取了代码here

extensions = ['sphinx.ext.intersphinx']

我认为 inter-sphinx 扩展对我有帮助。它链接到其他文档页面。

© www.soinside.com 2019 - 2024. All rights reserved.