2016-11-11 65 views
2

我在ReadTheDocs上用Sphinx創建我的文檔,使用他們的主題。構建過程產生genindex.html文件,它可以與被引用:如何鏈接ReadTheDocs導航欄中生成的索引頁?

Link to the :ref:`genindex` page. 

它創建:

鏈接到Index頁面。

我不能添加genindex我toctree,例如像這樣:

.. toctree: 

    foo 
    bar 
    genindex 

,因爲它是一個自動生成的文件,該文件根本不存在的渲染。此外,Sphinx預計genindex是一個名爲genindex.rst的lokal文件。

如何將它添加到我的ToC /導航?

+2

解決方法:用標題 「索引」 創建'genindex.rst'文件,並在'index.rst'(頂級)toctree引用它。創建的'genindex.html'將被生成的索引替換,因此鏈接指向正確的文件。 – Paebbels

回答

1

至於沒有人發佈更好的解決方案,我會寫下我的解決方法作爲一個工作解決方案。


斯芬克斯創建索引作爲在構建根目錄中的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