我正在用Sphinx记录我的Python项目。由于我的一些文档页面相当长,因此我希望在侧边栏中同时具有本地和全局目录。我通过实现
html_sidebars = { '**': ['localtoc.html', 'globaltoc.html', 'searchbox.html'] }
结果几乎是期望的。但是,本地目录和全局目录都具有相同的标题(“目录”)。也就是说,看起来像
Table of Contents
- Subheading 1
- Subheading 2
- Subheading 3
Table of Contents
- Subpage 1
- Subpage 2
- Subpage 3
这使读者感到困惑。
我已经在Python安装的sphinx软件包文件夹中找到文件localtoc.html
,并且可以根据需要调整html(替换标题)非常简单。但是,我不想更改Sphinx源文件,并且通过python包构建自己的主题对我来说似乎有些过分。
是否有任何方法可以在本地替换localtoc.html
,即仅替换当前项目?
答案 0 :(得分:1)
您可以覆盖localtoc.html
模板的行为。
在Sphinx根目录(位于_templates
文件所在的位置)中创建一个conf.py
文件夹,并将localtoc.html
从Sphinx安装复制到该文件夹。
然后,您可以根据需要修改此文件。删除此行:
<h3><a href="{{ pathto(master_doc) }}">{{ _('Table of Contents') }}</a></h3>
摆脱多余的标题,或者您可以根据需要替换任何文本(例如,将<a>
的内容更改为Local Contents
或任何您喜欢的内容。
请注意,更改localtoc.html
会删除两个标题的 top 。如果这是您想要的,那就太好了!如果没有,则可以使用globaltoc.html
以相同的方式复制该过程。