2016-11-11 12 views
2

私はReadTheDocsで自分のテーマを使ってSphinxでドキュメントを作成しています。 Indexページへどのようにして生成されたインデックスページをReadTheDocsナビゲーションバーにリンクできますか?

リンク:作成

Link to the :ref:`genindex` page. 

:ビルドプロセスがで参照することができgenindex.htmlファイルを生成します。それはrendertimeに存在しない、自動生成されたファイル、だから

.. toctree: 

    foo 
    bar 
    genindex 

:私はそうのように、たとえば、私のtoctreeにgenindexを追加することはできません

。さらに、スフィンクスは、genindexがgenindex.rstというlokalファイルであると予測しています。

どのようにToC /ナビゲーションに追加できますか?

+2

回避策:見出し "インデックス" と 'genindex.rst'ファイルを作成し、' index.rst'(トップレベル)のtoctreeでそれを参照。作成された 'genindex.html'は生成されたインデックスに置き換えられます。最後にリンクは正しいファイルを指しています。 – Paebbels

答えて

1

もっと良い解決策が投稿されていない限り、私は解決策を実用的な解決策として書き留めます。


スフィンクスは、ビルドのルートディレクトリにあるdenindex.htmlとしてインデックスを作成します。この指令はReSTファイルを参照するため、toctree指令で参照することはできません。どのようにそれを解決するには?

したがって、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 
##### 

ナビゲーションバースクリーンショット:

enter image description here

関連する問題