7

我正在使用他们的主题在 ReadTheDocs 上使用 Sphinx 创建我的文档。构建过程会生成一个 genindex.html 文件,可以通过以下方式引用:

Link to the :ref:`genindex` page.

创建:

链接到索引页面。

我无法添加genindex到我的目录树中,例如:

.. toctree:

   foo
   bar
   genindex

因为它是一个自动生成的文件,在渲染时不存在。此外,Sphinx 期望 genindex 是一个名为genindex.rst.

如何将其添加到我的 ToC / 导航?

4

1 回答 1

8

至于没有人发布更好的解决方案,我会写下我的解决方法作为一个可行的解决方案。


denindex.htmlSphinx在构建根目录中创建索引。它不能在toctree指令中被引用,因为该指令引用了 ReST 文件。那么如何解决呢?

因此,让我们创建一个genindex.rst文件并从toctree指令中引用它。这也会genindex.html在构建根目录中创建一个。所有链接都按预期创建。该genindex.html文件需要定义一个类似“索引”的标题,用作导航栏中的链接标题。

从 ReST 文件写入所有 HTML 文件后,Sphinx 生成其索引并覆盖genindex.html.

源文件:

源文件index.rst

.. toctree::
   :caption: Introduction

   chapter1
   chapter2

.. toctree::
   :caption: Main Documentation

   chapter3
   chapter4

.. toctree::
   :caption: Appendix

   genindex

源文件genindex.rst

.. This file is a placeholder and will be replaced

Index
#####

导航栏截图:

在此处输入图像描述

于 2016-11-13T22:05:27.053 回答