Несколько версий в самостоятельной документации Sphinx

Я пытаюсь создать документацию для самостоятельного проекта GitLab. Эта документация будет размещена на страницах GitLab и будет иметь разные версии. Благодаря этому ответу я понял, как разместить несколько версии на страницах GitLab.

Моя проблема сейчас в том, как получить доступ к этим версиям.

Я хотел бы использовать тему ReadTheDocs, которая, кажется, была создана с учетом этого:

Сворачиваемое меню rtd

Как я могу получить доступ к этому меню навигации и изменить его? Мне ничего не удалось найти в документации.

(Изменить: только что узнал, что это меню называется всплывающее меню)

Если бы это было невозможно, я бы хотел как-то добавить раздел на левой панели (например, html_sidebars в классической теме), поскольку я уже создал скрипт для получения ссылок на версии.

Мне просто нужен способ добавить секцию к панели.


person Pablo    schedule 02.03.2020    source источник
comment
Всплывающее меню не является частью темы RTD, но является частью продукта RTD. Он вставляется для каждой темы, и пользовательский элемент управления не может настраивать его, кроме управления версиями и другими атрибутами вашего проекта.   -  person Steve Piercy    schedule 03.03.2020


Ответы (1)


Мое решение

Поскольку @Steve Piercy упомянул в комментарии, что нет возможности использовать всплывающее окно в собственной теме RTD, я попытался персонализировать левую боковую панель, чтобы добавить ссылки на версии.

В отличие от классической темы (с html_sidebars, о которой я упоминал), похоже, нет способа настроить то, что показано. Что вы можете сделать, так это добавить индивидуальные javascript и css. Итак, я создал небольшой скрипт, который добавляет новый неупорядоченный список со ссылками на версии в верхней части toc.

Я бы предпочел следовать другому подходу, поскольку он хакерский и использует жестко запрограммированные имена классов css (которые могут измениться в любой момент), но это единственное, что я мог придумать и работает нормально.

Если кому-то понадобится более подробная информация о решении, я могу их предоставить.

person Pablo    schedule 04.03.2020