Как создать файл sitemap.xml с помощью sphinx?
Здесь говорится: "Специальное имя записи self обозначает документ, содержащий директиву toctree. Это полезно, если вы хотите сгенерировать" карту сайта "из toctree". И я смотрю на этот thred - Использование self для создания карты сайта с toctree в sphinx кажется сломанным?, Я не могу заставить это работать.
Есть ли где-нибудь подробный пример создания карты сайта sphinx, на которую я могу посмотреть?
1 ответ
Я закончил тем, что использовал генератор Sitemap в этой теме со своей собственной. https://github.com/guzzle/guzzle_sphinx_theme
# Import guzzle theme https://github.com/guzzle/guzzle_sphinx_theme
# Not actually using the theme but intead using the
# sitemap functionality and overriding the theme/templates in source/
html_translator_class = 'guzzle_sphinx_theme.HTMLTranslator'
html_theme_path = guzzle_sphinx_theme.html_theme_path()
html_theme = 'guzzle_sphinx_theme'
extensions.append("guzzle_sphinx_theme")
html_theme_options = {
"base_url": "YOURSITEURL"
}
Я перезаписываю все в моей исходной директории, я не использую другие части темы, кроме генератора карты сайта. Довольно небрежное решение, но оно сработало для меня.
Я знаю, что этому вопросу четыре года, поэтому, возможно, в то время этот плагин не был доступен. Я просто попробовал плагин sphinx-sitemap, и он у меня сработал.
Интеграция проста:
pip install sphinx-sitemap
а затем в вашем config.py
установлен:
extensions = ['sphinx_sitemap']
html_baseurl = 'https://my-site.com/docs/'
А потом нормально сгенерировать сайт. Sitemap.xml появится в основе вашего проекта. У них также есть некоторые расширенные функции, такие как управление версиями и многоязычие (я еще не пробовал).