Подтвердить что ты не робот

Как расширить все подразделы на боковой панели в Сфинксе

Мне было интересно, есть ли способ расширить все подразделы под заголовками, которые включены в файл index.rst?

В качестве примера, вот как это выглядит:

Section 1
Section 2
Section 3

И вот как бы я хотел:

Section 1
  Subsection 1.1
  Subsection 1.2
  Subsection 1.3
Section 2
  Subsection 2.1
  Subsection 2.2
  Subsection 2.3
Section 3
  Subsection 3.1
  Subsection 3.2
  Subsection 3.3

Если я нажму на раздел 1, он покажет, что под ним, но если я нажму на раздел 2, содержимое раздела 1 будет скрыто и будет показано только 2. Я бы хотел, чтобы все 2 раздела расширялись каждый раз, когда я на странице индекса. Я попытался добавить toctree и maxdepth, ничего не работает.

4b9b3361

Ответ 1

Ну, я потерял приблизительно 3,4 М нейронов, пытаясь прочитать исходный код сфинкса (было ли это написано кучей раввинских безрассудных енотов?! столько уровней абстракции).

Итак:

  • создайте собственную тему sphinx (используйте тему третьей стороны в качестве базы, очень легко. Я использую для этого "читаемую" тему)
  • в каталоге, где у вас есть theme.conf, добавьте шаблон "fulltoc.html", содержащий одну строку:

fulltoc.html:

{{ toctree(collapse=False) }}

(Хех, обратите внимание на аргумент "свернуть"?)

  • в sphinx conf.py, измените параметр html_sidebars, чтобы добавить ваш шаблон; и объявите свою тему

conf.py:

html_theme_path = [customized_readable_theme.get_html_theme_path()]
html_theme = 'customized_readable'
html_sidebars = {'**': ['fulltoc.html', 'relations.html', 'sourcelink.html', 'searchbox.html']}
  • перекомпилировать документацию