如何在Sphinx文档中添加自定义页脚?

30
如果我有一些文档,比如Galleria的文档,我该如何设置,使得当我运行make html命令时,它会为每个页面添加自定义页脚?
我看到我可以潜在地使用conf.pyLaTeX导言区部分,如果我将其输出为PDF格式。
1个回答

38
你需要通过提供一个像这样的html文件来扩展默认布局。
{% extends '!layout.html' %}

{% block footer %}
        <!-- your html code here -->
{% endblock %}

将此保存在名为_templates/的子目录中,命名为layout.html,并确保告诉conf.py在哪里找到这个目录。
# Add any paths that contain templates here, relative to this directory.
templates_path = ['_templates']

更多关于模板化的信息可以在这里找到:https://www.sphinx-doc.org/en/master/development/templating.html#templating

2
你也可以在sphinx安装目录中找到你要覆盖的layout.html文件。然后,你可以按照UncleZeiv的说明复制{% block %}部分并进行覆盖,只更改你想要更改的部分。我的文件位于<pythondir>\Lib\site-packages\Sphinx-1.1.3-py2.7.egg\sphinx\themes<themename>\layout.html。 - Boinst
7
如果有人想知道,根据conf.py中的templates_path设置,_templates目录的默认位置在与conf.py相同的目录中,这应该是您的source目录。另外,如果您希望页脚具有与默认页脚相同的样式,您需要将页脚的HTML内容包含在<div class="footer">标签中。 - Dennis
1
有没有办法更改生成的PDF中的页脚?我在那里得到了“CONTENTS”,虽然这个解决方案适用于HTML,但知道PDF版本也很好! - László Papp
1
如果你重写了一个块,需要在扩展的模板中的某个地方调用 {{ super() }} 来渲染该块的内容,除非你不想显示该内容:文档 - Steven Almeroth
9
针对RTD主题:{% extends '!footer.html' %} {% block extrafooter %} <!-- 在这里添加你的HTML代码 --> {% endblock %} - Steven Almeroth
我需要添加一个链接,它将引用文档本身,到目前为止{{sourcename}}看起来最可靠。 - Anton Krug

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接