在Sphinx中链接外部文档

时间:2016-07-27 10:57:37

标签: python-sphinx

我正在尝试将项目的扩展文档链接到Sphinx中的核心文档。我已经尝试过intersphinx,但是从我看到的它只支持对象,而我们的文档没有引用对象,它只是简单的.st。

我添加了

intersphinx_mapping = {
'project': ('http://link-to-readthedocs/index.html', None),
}

到conf.py并编辑链接到:ref:`Documentation`和更高版本:doc:`Documentation`。它不起作用。


问题:

如何在Sphinx中将一个项目的文档链接到普通的.rst文件(而不是对象)?


修改:我已经完成了 make html ',找到了我的 objects.inv ,但现在我想我只在本地拥有它???我不确定我在做什么,但当我尝试检查object references时,我得到了:

UserWarning: intersphinx inventory 'http://myproject.com/index.html/objects.inv' not fetchable due to <class 'urllib.error.HTTPError'>: HTTP Error 404: Not Found
  '%s: %s' % (inv, err.__class__, err))

1 个答案:

答案 0 :(得分:1)

首先要解决的是您所包含的指向项目文档基本URL的链接:

  

intersphinx_mapping = { 'project': ('http://link-to-readthedocs/index.html', None), }

根据intersphinx docs

  

将唯一标识符映射到元组(target, inventory)的字典。每个target是外部Sphinx文档集的基本URI,并且可以是本地路径或HTTP URI。 inventory指示可以在何处找到清单文件:它可以是None(与基本URI相同的位置)或另一个本地或HTTP URI。

因此,错误在于将index.html放在target的末尾。它应该看起来像这样:

intersphinx_mapping = { 'project': ('http://project.readthedocs.io/en/latest', None), }

如果需要,将en替换为首选的文档语言,并将latest替换为首选的RtD构建文档版本。