使用sphinx-rtd-theme
时,我希望在侧边栏中添加指向自动生成的索引的链接。我已经尝试将它添加到toctree:
.. toctree::
first
second
Index <:ref:`genindex`>
但这导致了
WARNING: toctree contains reference to nonexisting document u':ref:`geinindex`'
来自Sphinx并没有其他影响。
我想我可以简单地对主题layout.html
文件中的索引进行硬编码,但也许有更好的方法,不涉及修改标准主题?
任何提示的TIA!
答案 0 :(得分:9)
如果您了解Sphinx和Jinja的工作方式,这很容易。不幸的是,Sphinx docs on templating如果你不这样做,就不会给你足够的信息。简而言之,您必须覆盖模板:
_templates
个文件夹。conf.py
中,例如templates_path = ['_templates']
layout.html
。将此代码段放入并保存。
感叹号/标记迫使jinja使用父模板。
不要忘记它,否则你会收到递归错误。
您只需要覆盖menu
块。
{% extends "!layout.html" %}
{% block menu %}
{{ super() }}
<a href="genindex.html">Index</a>
{% endblock %}
答案 1 :(得分:1)
怎么样:
.. toctree::
first
second
* :ref:`genindex`