如何在ReadTheDocs导航栏中链接生成的索引页面?

时间:2016-11-11 21:23:59

标签: indexing python-sphinx restructuredtext read-the-docs

我使用他们的主题在ReadTheDocs上使用Sphinx创建我的文档。构建过程生成genindex.html文件,可以使用以下内容引用该文件:

Link to the :ref:`genindex` page.

创建:

  

链接到Index页面。

我无法将genindex添加到我的toctree中,例如:

.. toctree:

   foo
   bar
   genindex

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

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

1 个答案:

答案 0 :(得分:3)

就没有人发布更好的解决方案而言,我会将我的解决方案写下来作为一种有效的解决方案。

Sphinx在构建根目录中将索引创建为denindex.html。它不能在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
#####

导航栏屏幕截图:

enter image description here