簡體   English   中英

Python-Sphinx 中 Toctree 的多個級別

[英]Multiple Levels of Toctree's in Python-Sphinx

我正在嘗試使用 sphinx 來記錄多個“級別”的文檔,例如:

  • 接口參考
  • 手動的
  • 教程
  • 等等。

這個想法是目錄相對於您所在的部分顯示在側邊欄上。所以當您在主索引上時,它只顯示上面提到的部分。 當你進入例如。 “手冊”顯示了特定於該部分的不同 ToC,以及返回主 ToC 的方法。

我一直在試圖弄清楚如何讓它在 Sphinx 中工作而不入侵它,但到目前為止還想不出辦法。 文件夾結構已經反映了不同的部分(即所有“手冊”文檔都存儲在 _source/manual 下),我已經嘗試在每個目錄中放置單獨的索引文件,但似乎 toctree 功能只查看主索引文件。

我正在使用“readthedocs”主題,我正在查看的代碼是https://github.com/snide/sphinx_rtd_theme/blob/master/sphinx_rtd_theme/layout.html#L93

誰能告訴我如何使用 Sphinx 添加這樣的 ToC?

謝謝

(這個回復可能有點晚了)我有類似的情況,同一目錄樹中包含三個部分:

  • 硬件
  • 軟件
  • 教程

我試圖實現相同的目標,即從我的側邊欄菜單中隱藏不屬於當前 toctree-l1 的所有內容。 知道 Sphinx 添加了 CSS 類“current”,我想出了:

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

這不是有史以來最好的解決方案,但由於 Sphinx 只能處理文檔的一個主根,並且從那個主根創建整個 TOC 樹,如果您只需要側邊欄菜單,CSS 應該適合您。

我的菜單的屏幕截圖僅顯示一個部分下方的內容:

似乎子目錄中文檔中的.. toctree::以該子目錄為根(參見例如https://docs.python.org/2/_sources/howto/index.txt )。 對於上層 TOC, :maxdepth:限制包含較低層。

這可以通過制作相應的模板並將其添加到html_sidebars構建參數來放置到側邊欄中。 更新:不起作用; 在側邊欄模板中,TOC 的根始終位於頂部。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM