如何使用sphinx生成sitemap.xml文件?

时间:2015-04-29 17:58:28

标签: python python-sphinx

Here它说:“特殊条目名称self代表包含toctree指令的文档。如果你想从toctree生成一个”站点地图“,这很有用。”而且我一直在看这个thred - Using self to create a sitemap with toctree in sphinx seem broken?。我似乎无法让这个工作。

有什么地方可以看到我可以看到的sphinx生成的站点地图的详细示例吗?

2 个答案:

答案 0 :(得分: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"
}

我覆盖了我的源目录中的所有内容我没有使用除了站点地图生成器之外的主题的任何其他部分。相当邋solution的解决方案,但它对我有用。

答案 1 :(得分:0)

我知道这个问题已经有4年了,所以那个时候也许这个插件不可用。我刚刚尝试了sphinx-sitemap插件,它对我有用。

集成很容易:

pip install sphinx-sitemap

,然后在您的config.py中设置:

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

然后正常生成站点。一个sitemap.xml将出现在您的项目的基础上。它们还具有一些高级功能,例如版本控制和多语言(我尚未尝试过)。