9

ドキュメントの複数の「レベル」をドキュメント化する方法でスフィンクスを使用しようとしています。

  • API リファレンス
  • マニュアル
  • チュートリアル
  • 等。

目次は、現在のセクションに関連するサイドバーに表示されるという考え方です。したがって、メインのインデックスにいるときは、上記のセクションのみが表示されます。あなたが入るとき。「マニュアル」は、そのセクションに固有の別の目次と、メインの目次に戻る方法を示しています。

ハッキングせずにSphinxでこれを機能させる方法を見つけようとしていますが、今のところ方法がわかりません。フォルダー構造はすでにさまざまなセクションを反映しており (つまり、すべての「マニュアル」ドキュメントは _source/manual の下に保存されています)、これらの各ディレクトリに個別のインデックス ファイルを配置しようとしましたが、toctree 機能はメイン インデックス ファイル。

「readthedocs」テーマを使用しています。具体的に見ているコードはhttps://github.com/snide/sphinx_rtd_theme/blob/master/sphinx_rtd_theme/layout.html#L93です

Sphinx を使用してこのような ToC を追加する方法を誰か教えてもらえますか?

ありがとうございました

4

2 に答える 2

1

(この応答には少し遅れているかもしれません) 私も同様の状況にあり、同じ TOC ツリーに 3 つのセクションが含まれています。

  • ハードウェア
  • ソフトウェア
  • チュートリアル

私は同じことを達成しようとしていました。つまり、現在の toctree-l1 に属していないすべてのものをサイドバー メニューから隠しています。Sphinx が CSS クラス 'current' を追加することを知っているので、次のように思いつきました。

#sidebar li.toctree-l1:not(.current){
  display: none;
} 

これはこれまでで最高のソリューションではありませんが、Sphinx はドキュメントのメイン ルートを 1 つしか処理できず、そのルートから TOC ツリー全体を作成するため、サイドバー メニューにのみ必要な場合は、CSS を使用する必要があります。

1 つのセクションの下にコンテンツを表示するだけのメニューのスクリーンショット:

于 2015-10-12T15:02:18.223 に答える
0

サブディレクトリ内のドキュメントのa.. toctree::は、そのサブディレクトリをルートとしているようです (例: https://docs.python.org/2/_sources/howto/index.txtを参照)。上位レベルの目次については:maxdepth:、下位レベルの包含を制限します。

これは、対応するテンプレートを作成し、 html_sidebarsビルド パラメータに追加することで、サイドバーに配置できます。更新: 動作しません。サイドバー テンプレートでは、TOC のルートは常に一番上にあります。

于 2014-09-15T19:22:12.787 に答える