我正在使用Sphinx在ReadTheDocs上使用其主题创建文档。构建过程将生成genindex.html文件,该文件可通过以下方式引用:

Link to the :ref:`genindex` page.

这将创建:



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

   foo
   bar
   genindex

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

如何将其添加到我的目录/导航中?

最佳答案

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

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

因此,让我们创建一个genindex.rst文件,并从toctree指令中引用它。这还将在构建根目录中创建genindex.html。所有链接均按预期方式创建。 genindex.html文件需要定义一个标题,例如“Index”,它用作导航栏中的链接标题。

从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
#####

导航栏屏幕截图:

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

关于indexing - 如何在ReadTheDocs导航栏中链接生成的索引页面?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40556423/

10-13 01:22