如何使用Sphinx创建外部文件部分的链接?

时间:2013-07-10 16:43:07

标签: python-sphinx

我想创建一个引用另一个文件中定义的部分的链接。

我在“Python-Sphinx: Link to Section in external File”上发现了一个类似的问题,我注意到有一个名为“intersphinx”的扩展名。 所以我尝试了这个扩展,但它不起作用(可能我的用法是错误的)。

我尝试了以下内容。

conf.py

extensions = ['sphinx.ext.todo', 'sphinx.ext.intersphinx']
...
intersphinx_mapping = {'myproject': ('../build/html', None)}

foo.rst

...
****************
Install Bar
****************
Please refer :ref:`Bar Installation Instruction<myproject:bar_installation>`

我想用上面的标记创建一个像'Bar Installation Instruction'这样的链接。

bar.rst

...
**************************
Installation Instruction
**************************
.. _bar_installation:

some text...

当我运行make html时,我收到以下警告,并且未创建链接。

foo.rst: WARNING: undefined label: myproject:bar_installation (if the link has no caption the label must precede a section header)

提前致谢。

1 个答案:

答案 0 :(得分:0)

看起来它无法找到您的地图清单文件。元组的第一部分用作链接的基本URL,而第二部分是库存文件的路径。我相信库存文件的自动下载(当你通过None时)只适用于URI而不是文件路径。

在此示例中,我可以在本地构建文档,但它将链接到http://example.com/docs/bar.html

'myproject': (
    'http://example.com/docs/',
    '../html/objects.inv'
)