Python 斯芬克斯:自定义侧边栏部分标题

Python 斯芬克斯:自定义侧边栏部分标题,python,python-sphinx,sidebar,tableofcontents,Python,Python Sphinx,Sidebar,Tableofcontents,我正在用Sphinx记录我的Python项目。由于我的一些文档页面相当长,我希望侧边栏中有一个本地和全局目录。我通过 html_sidebars = { '**': ['localtoc.html', 'globaltoc.html', 'searchbox.html'] } 结果几乎和预期的一样。但是,本地目录和全局目录都有相同的标题(“目录”)。就是看起来 Table of Contents - Subheading 1 - Subheading 2 - Subheading 3

我正在用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
,即仅用于当前项目?

您可以覆盖
localtoc.html
模板的行为

在Sphinx根目录中创建一个
\u templates
文件夹(与
conf.py
文件所在的位置相同),并将Sphinx安装中的
localtoc.html
复制到此文件夹

然后,您可以根据需要修改此文件。删除此行:

<h3><a href="{{ pathto(master_doc) }}">{{ _('Table of Contents') }}</a></h3>

要删除额外的标题,或者您可以根据需要替换任何文本(例如将
的内容更改为
本地内容
或任何您喜欢的内容)

请注意,更改
localtoc.html
会删除两个标题中的top。如果这是您想要的,那就太好了!如果不是,您可以用相同的方式使用
globaltoc.html
复制过程