为了账号安全,请及时绑定邮箱和手机立即绑定

Sphinx:自定义侧边栏部分标题

Sphinx:自定义侧边栏部分标题

海绵宝宝撒 2022-07-26 10:32:18
我正在用 Sphinx 记录我的 Python 项目。由于我的一些文档页面相当长,我希望在侧边栏中同时包含本地和全局目录。我通过实现这一目标html_sidebars = { '**': ['localtoc.html', 'globaltoc.html', 'searchbox.html'] }结果几乎符合预期。但是,本地目录和全局目录都具有相同的标题(“目录”)。也就是说,它看起来像Table of Contents - Subheading 1 - Subheading 2 - Subheading 3Table of Contents - Subpage 1 - Subpage 2 - Subpage 3这让读者感到困惑。我已经localtoc.html在我的 Python 安装的 sphinx 包文件夹中找到了该文件,并且根据我的需要调整 html(替换标题)很简单。但是,我不想更改 Sphinx 源文件,并且通过 python 包构建我自己的主题对我来说似乎有点矫枉过正。有没有办法在 localtoc.html本地替换,即仅用于当前项目?
查看完整描述

1 回答

?
holdtom

TA贡献1805条经验 获得超10个赞

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

_templates在您的 Sphinx 根目录(与您的conf.py文件所在的位置相同)中创建一个文件夹,然后localtoc.html从您的 Sphinx 安装复制到此文件夹。

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

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

摆脱多余的标题,或者您可以根据需要替换任何文本(例如更改<a>to的内容Local Contents或您喜欢的任何内容。

请注意,更改localtoc.html删除两个标题的顶部。如果这是你想要的,太好了!如果没有,您可以globaltoc.html以相同的方式复制该过程。


查看完整回答
反对 回复 2022-07-26
  • 1 回答
  • 0 关注
  • 70 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信