sphinx_rtd_theme не применяется к сборкам ReadTheDocs, но локальные сборки работают нормально

Я столкнулся со странной проблемой. Я добавил последние файлы sphinx_rtd_theme в свой проект и сделал необходимые переопределения темы (включая известный перенос текста в таблицах).

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

Под мастером я подразумеваю сборки, которые создаются на сайте ReadTheDocs (аккаунт).


person veenamj    schedule 23.04.2017    source источник
comment
Следовали ли вы инструкциям по установке темы RTD для локального репозитория? Если вы правильно следуете этим инструкциям, а также инструкциям RTD для вебхуков и Начало работы, то должно работать Just Work™. В противном случае вы должны опубликовать ссылку на страницу сборки RTD для устранения неполадок.   -  person Steve Piercy    schedule 23.04.2017
comment
@ Стив Пирси - спасибо за ответ. Мы используем Sphinx уже более 4 лет. Тема всегда была ра. Только недавно мы подумали об использовании sphinx_rtd_theme. Локальная сборка работает очень хорошо, но не в репозитории ReadTheDocs. Я не уверен, какие дополнительные параметры требуются для настройки на стороне ReadTheDocs?   -  person veenamj    schedule 24.04.2017
comment
без дополнительной информации никто не может вам помочь. Можете ли вы опубликовать ссылку на вашу страницу сборки RTD? Вот пример для пирамиды. Оттуда можно точно увидеть, что произошло в процессе сборки, увидеть, что вы подразумеваете под темой, возвращаясь к самому базовому, и другую соответствующую информацию.   -  person Steve Piercy    schedule 24.04.2017
comment
сборка, к которой не применена тема sphinx_rtd_theme — это сборка.   -  person veenamj    schedule 25.04.2017
comment
Сборка указывает на то, что вы неправильно настроили свой проект для использования sphinx_rtd_theme в RTD. Вы должны следовать методу пакета для RTD, а не методу git/download. Затем убедитесь, что вы настроили свою учетную запись RTD и свои веб-хуки, как я изначально сказал.   -  person Steve Piercy    schedule 25.04.2017
comment
@Steve - еще раз спасибо за совет. Я сделал это, установив новую тему через Package. Как обычно, локальная сборка работала хорошо, но я получил NoTheme на сборке RTD снова. Веб-перехватчик настраивается на битбакете, а другие изменения выполняются в учетной записи RTD. Нужно ли что-то добавлять в файл requirements.txt? Я только что понял, что забыл добавить html_theme_options, но добавил значения параметров.   -  person veenamj    schedule 26.04.2017
comment
У меня была очень похожая проблема, и я решил ее, следуя совету @StevePiercy и добавив веб-перехватчик с моей страницы github вручную (docs.readthedocs.io/en/latest/webhooks.html), а не настраивается автоматически при регистрации в RTD. До этого я выполнил все шаги, описанные в документах. .readthedocs.io/en/latest/intro/ и github.com/readthedocs./ sphinx_rtd_theme#установка.   -  person KamKam    schedule 19.10.2019


Ответы (2)


Согласно вашим версиям RTD, "последняя" указывает на главную ветвь вашего проекта. документация. Я просмотрел источник conf.py в основной ветке, и для нее задана тема ra. Таким образом, все, что вы делаете локально, не передается в ту же ветку, которую RTD использует для создания документации.

Прежде чем делать что-либо еще, убедитесь, что все изменения, которые вы вносите локально, отправляете в репозиторий вашей организации и что RTD извлекает из них для сборки документов, находятся в одной и той же ветке.

Как только вы разберетесь с этим и предположите, что хотите использовать rtd_sphinx_theme как в RTD, так и локально, и что вы также хотите, чтобы другие разработчики могли воспроизводить документы, следуйте sphinx_rtd_theme установка методом пакета.

person Steve Piercy    schedule 26.04.2017
comment
Нет, на самом деле kthe conf.py, который отражает мастер, имеет ra в качестве набора тем. Это потому, что я вернулся к старой версии. Я меняю conf.py на sphinx_rtd_theme в ветке, а затем объединяю ее с основной веткой. После того, как я вношу изменения, запускается сборка. Но это не новая тема. Вывод, который я получаю с помощью sphinx_rtd_theme, даже не имеет установленной темы ra. Он восходит к простому списку тем html (очень простой). В этом проблема. - person veenamj; 26.04.2017
comment
Я ответил на него, как только получил неправильную сборку после установки темы Sphinx RTD с помощью метода пакета @Steve - еще раз спасибо за совет. Я сделал это, установив новую тему через Package. Как обычно, локальная сборка работала хорошо, но я получил NoTheme на сборке RTD снова. Веб-перехватчик настраивается на битбакете, а другие изменения выполняются в учетной записи RTD. Нужно ли что-то добавлять в файл requirements.txt? Я только что понял, что забыл добавить html_theme_options, но добавил значения параметров. - person veenamj; 26.04.2017
comment
Вместо того, чтобы постоянно пересматривать основную ветку, создайте ветку разработки для тестирования и настройте RTD для сборки этой ветки. Тогда мы оба смотрим на одни и те же вещи. Я не могу попасть в движущуюся цель. - person Steve Piercy; 26.04.2017
comment
Мы не редактируем ветку master напрямую. Обычно я создаю локальную ветку, вношу изменения, а затем объединяю ее с основной веткой. Что бы ни было в ReadTheDocs, это главная ветка. Например, conf.py относится к основной ветке, которая обновляется после слияния с ней локальной ветки. Вот почему я всегда говорю, что сборка локальной ветки выглядит нормально, только когда локальная ветка объединяется с основной сборкой RTD, все не работает. - person veenamj; 27.04.2017
comment
conf.py не обновлялся 2 дня и по-прежнему использует тему ra. RTD использует этот файл для настройки сборки ваших документов. RTD будет продолжать использовать тему ra, пока вы не настроите ее на использование другой, как я ответил выше. - person Steve Piercy; 27.04.2017
comment
Я вернулся к старой версии conf.py, как только обнаружил, что к HTML не применяется sphinx_rtd_theme. Каждый раз, когда я пытаюсь, conf.py обновляется. Когда я вношу изменения в основную ветку, сборка запускается, и тема не применяется. Итак, я отменяю изменения, и conf.py возвращается к настройке ra. - person veenamj; 27.04.2017
comment
Я не могу устранить неполадки с движущейся целью. Вместо этого сделайте легко воспроизводимый пример. Настройте RTD для создания другой ветки, которая не переворачивается, чтобы другие могли видеть (1) состояние ветки репозитория, которая не использует ожидаемую тему, (2) как сборка выглядит на RTD и (3) сборка войти в РДТ. Затем предоставьте ссылки на ветку этого репозитория, страницу RTD Builds и собранные документы. Оставьте его в покое, чтобы дать другим возможность просмотреть и прокомментировать его асинхронно. - person Steve Piercy; 28.04.2017
comment
Спасибо, это три ветки, которые я создал до сих пор (объединил и вернулся из мастера) sphinx через ветку пакета sphinx через ветку загрузки git Я свяжусь с вами по поводу другой сборки ветки на RTD. - person veenamj; 28.04.2017
comment
Вот как сборка выглядит в HTML, когда я применил sphinx_rtd_theme к ветке, которую я разместил выше - HTML-тема Sphinx RTD Пожалуйста, дайте мне знать, поможет ли это выяснить основную причину. - person veenamj; 02.05.2017
comment
Вам не хватает файла requirements.txt и конфигурации RTD, чтобы найти его. См. stackoverflow.com/questions/43217198/ - person Steve Piercy; 02.05.2017
comment
Огромное спасибо! У нас есть файл требований, но pip install sphinx_rtd_theme туда не добавлено. Должен ли я добавить его в файл? - person veenamj; 02.05.2017
comment
Файл требований также уже настроен в учетной записи RTD. - person veenamj; 02.05.2017
comment
Вы не помещаете pip install foo в файл требований. См. формат файла требований. Затем вам нужно отправить коммит вашего файла requirements.txt в ветку вашего репозитория, из которой RTD создаст документы. Я не вижу ни одного bitbucket.org/qubole/docs/ src/ Это правильная ветка? - person Steve Piercy; 02.05.2017
comment
да, это ветка, в которой я пытался применить тему Sphinx RTD. - person veenamj; 02.05.2017
comment
Есть одна зависимость .pip. Он рассматривается как файл требований, поскольку он настроен как файл требований в учетной записи RTD. - person veenamj; 02.05.2017
comment
Я не могу проверить, как вы настроили RTD, поэтому, надеюсь, у вас есть правильный путь к вашему файлу требований как docs/sphinx/dependencies.pip. Тем не менее, вы пропустили rtd_sphinx_theme в своем dependencies.pip, и вам нужно включить его. Если это не сработает, закомментируйте в conf.py: html_static_path = ['_static']. В журнале сборки есть предупреждение о том, что не удается найти файлы из темы RTD. - person Steve Piercy; 03.05.2017
comment
FTR, вы должны включать ссылки на элементы, а не только их имена, например документы в ветке doc-695b, его сборка и конкретная файлы в вашей ветке в вашем репозитории для облегчения устранения неполадок. - person Steve Piercy; 03.05.2017
comment
Спасибо еще раз. Пути там не было, это был просто файл dependencies.pip. - person veenamj; 03.05.2017
comment
Я еще не пробовал. Но могу ли я включить тему как `sphinx-rtd-theme›=0.2.4` в файл dependencies.pip (или требования.txt). Я не очень активен в StackOverflow. Я очень ценю всю помощь, которую вы оказали в устранении этой проблемы. В дальнейшем я постараюсь добавить соответствующие имена ссылок/гиперссылок, чтобы было легче устранять неполадки. - person veenamj; 03.05.2017
comment
Просто используйте sphinx-rtd-theme без номера версии. pip установит последнюю версию. Номер версии следует указывать только тогда, когда вашему пакету требуется определенная версия. - person Steve Piercy; 03.05.2017
comment
Извините, что снова возвращаюсь. Я добавил sphinx-rtd-theme в dependencies.pip, а путь к файлу требований RTD — sphinx/dependencies.pip (сборка docs/sphinx/dependencies.pip завершается неудачно). Я запустил сборку на RTD, она выдала такой же вывод. Затем я закомментировал html_static_path = ['_static']. Тем не менее, ничего не помогло, и я получил тот же результат. Почти все обходные пути возвращаются к исходной точке. (Немного утомительно....) - person veenamj; 04.05.2017
comment
Я заставил его работать. Смотрите мою историю изменений. github.com/stevepiercy/quobole-docs/commits/DOC-695d и окончательная сборка quobole-docs.readthedocs.io/en/latest/index. html - person Steve Piercy; 05.05.2017
comment
Огромное спасибо! Наконец-то это заработало после удаления html_context. Мне пришлось создать _templates/layout.html и добавить свойство def add для переноса текста в таблицы, а theme_override.css, как описано в Ошибка 117 Вот Правильная тема Большое спасибо за все обходные пути! - person veenamj; 05.05.2017

ReadTheDocs не очищает каталог сборки при каждой новой сборке. Я исправил это вручную очистив все временные файлы из ReadTheDocs:

  • все каталоги сборки
  • созданный контент из плагинов autoapi

После этого для новых билдов использовалась моя модифицированная тема RTD.

Для этого я добавил обнаружение тегов в conf.py. Если мой тег установлен, он выполняет очистку. Вы можете установить пользовательские теги в веб-интерфейсе ReadTheDocs.

person Paebbels    schedule 24.04.2017
comment
Спасибо большое! Как очистить временные файлы из папки ReadTheDocs. Сборка запущена, и пользователи всегда имеют доступ к документации. Как это сделать? - person veenamj; 24.04.2017
comment
Вы добавляете несколько инструкций по удалению в conf.py. Запустите его один раз с включенным значением тега, чтобы очистить все, а затем удалите значение тега, а затем снова запустите сборку. В сети всего несколько минут. Мне эта процедура понадобилась только один раз. - person Paebbels; 24.04.2017
comment
Привет, я только что обнаружил неактивные версии на странице проекта/‹проекта›/версий. Каждая неактивная версия имеет кнопку очистки. Должен ли я просто стереть неактивные версии и восстановить мою основную ветку? - person veenamj; 25.04.2017