首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使用Sphinx链接本地Python帮助文档

如何使用Sphinx链接本地Python帮助文档
EN

Stack Overflow用户
提问于 2018-05-26 11:33:55
回答 1查看 577关注 0票数 2

如何让我的Sphinx RST文件包含到"contents.html“Python帮助页面的链接?

更多详细信息

我在离线环境中有一个RST帮助文档(index.rst)。我已经使用make.bat html命令下载并成功构建了Python文档。然后,我将此文档复制到C:\Temp\PyDoc。

然后,我更新了我的conf.py文件,以包含以下Intersphinx映射:

代码语言:javascript
复制
intersphinx_mapping = {'python': ('C:/Temp/PyDoc', None)}

然后,在我的index.rst文件中,我有如下内容:

代码语言:javascript
复制
Contents:

.. toctree::
   :maxdepth: 1

   :ref:`Python <python:contents>`

Python链接将从生成的文档中删除,并显示以下警告消息:

警告: toctree包含对不存在的文档':ref:Python <python:contents>‘的引用

我已经验证了输出中包含以下文本:

正在从C:/Temp/PyDoc/objects.inv加载intersphinx清单...

我还通过运行以下命令验证了Python文档中存在"contents“标记:

代码语言:javascript
复制
python -m sphinx.ext.intersphinx "C:/Temp/PyDoc/objects.inv" | findstr contents

它会生成包含以下行的输出:

Python目录:

文档内容: contents.html

有人知道如何从我的RST文件中引用此外部文档吗?

EN

回答 1

Stack Overflow用户

发布于 2018-05-26 15:53:47

在intersphinx的配置中,dict的键值是一个tuple,它由逗号分隔的值组成,而不是冒号分隔的值。

代码语言:javascript
复制
intersphinx_mapping = {'python': ('C:/Temp/PyDoc', None)}

编辑

toctree条目需要一个有效的目标,它可以是相对于当前文件的文件,也可以是从conf.py所在的文档根目录开始的绝对文件。目标也可以是URL。我怀疑您生成的HTML不是上面的任何一个,所以您需要将它移动到Sphinx可以找到它的地方。

语法应该用于文档,而不是Python对象,因为页面是一个目录。我没有尝试这个例子,因为我没有下载和构建Python文档,所以我怀疑它能否工作。

代码语言:javascript
复制
.. toctree::
    :maxdepth: 1

    :doc:`Python <python:contents>`

或者,您可以只使用URL (或类似的相对或绝对目标)。这对我来说是一个完全合格的URL。

代码语言:javascript
复制
.. toctree::
    :maxdepth: 1

    Python <https://docs.python.org/3/contents.html>

最后,您可以尝试包含,但我认为这并不是您真正想要的。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50539097

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档