Как создать файл sitemap.xml с помощью sphinx?

Здесь говорится: "Специальное имя записи self обозначает документ, содержащий toctree. Это полезно, если вы хотите сгенерировать «карту сайта» из toctree». И я смотрел на этот поток - Использование self для создания карты сайта с помощью toctree в sphinx кажется неправильным?. Кажется, я не могу заставить это работать.

Есть ли где-нибудь подробный пример карты сайта, созданной сфинксом, на который я могу посмотреть?


person anthony-dandrea    schedule 29.04.2015    source источник


Ответы (2)


В итоге я использовал генератор карты сайта в этой теме со своим собственным. 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"
}

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

person anthony-dandrea    schedule 05.05.2015

Я знаю, что этому вопросу четыре года, поэтому, возможно, в то время этот плагин был недоступен. Я только что попробовал плагин sphinx-sitemap, и он у меня сработал.

Интеграция проста:

pip install sphinx-sitemap

а затем в вашем наборе config.py:

extensions = ['sphinx_sitemap']
html_baseurl = 'https://my-site.com/docs/'

А потом сгенерировать сайт нормально. Sitemap.xml появится в основе вашего проекта. У них также есть некоторые расширенные функции, такие как управление версиями и многоязычность (я еще не пробовал).

person Gab    schedule 16.03.2020