Как включить тектри в боковую панель каждой страницы

Я генерирую HTML документацию в Sphinx.

Как мне изменить боковую панель для каждой html-страницы в моем документе, чтобы они включали toctree? По умолчанию токтриное дерево отображается только в master_doc страницы, и только в основной области вместо боковой панели.

Есть простой способ сделать это? Я буду использовать readthedocs для размещения сгенерированной документации, поэтому я бы предпочел избегать использования сторонних плагинов, если они также не доступны в readthedocs.

4 ответа

Решение

Вы можете настроить свою боковую панель HTML в conf.py,

Боковая панель html по умолчанию состоит из 4 шаблонов:

['localtoc.html', 'relations.html', 'sourcelink.html', 'searchbox.html']

В conf.py Вы можете изменить localtoc.html на globaltoc.html следующим образом:

html_sidebars = { '**': ['globaltoc.html', 'relations.html', 'sourcelink.html', 'searchbox.html'] }

Поскольку это в конце концов будет использоваться в файлах HTML, это должно работать на ReadTheDocs.

Включение "globaltoc.html" имеет недостаток в том, что он не отображает как глобальный, так и локальный ток для страницы, которую вы просматриваете.

Похоже, что другие были раздражены этим ограничением и привели к последующей разработке расширения для поддержки полного токка в боковой панели, оформить заказ: https://pypi.python.org/pypi/sphinxcontrib-fulltoc

Ничего не будет отображаться в разделе "Навигация" боковой панели Sphinx по умолчанию, пока вы не добавите имена файлов, которые вы хотите сканировать на предмет заголовков разделов, вtoctree:: директива в вашем .rst файл.

Например, если вы хотите, чтобы все заголовки вашего index.rst файл для отображения в области навигации, напишите index (без расширения) в toctree:: список так:

My Level 1 Heading
==================

Glorious content.

My Level 2 Heading
------------------

More content


.. toctree::
   :maxdepth: 2
   :caption: Contents:

   index

Решающим моментом является добавление indexпрямо там, в конце. Если вы похожи на меня, вы начинаете свои проекты с автоматически созданного шаблона изsphinx-quickstart, который (на момент написания) заполняет ваш .rst файлы с ПУСТЫМИ toctrees.

не забывай:hidden:ключевое слово, как показано в этом коде

      .. toctree::
    :maxdepth: 1
    :hidden:

    index
    docs/specification
    docs/ux
    docs/database
    docs/techstack
    docs/api
    docs/specialFunctionalities
    enter code here
Другие вопросы по тегам