【问题标题】:Sphinx: customize sidebar section titlesSphinx:自定义侧边栏部分标题
【发布时间】:2020-05-27 14:50:42
【问题描述】:

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

【问题讨论】:

    标签: python python-sphinx sidebar tableofcontents


    【解决方案1】:

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

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

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

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

    去掉多余的标题,或者您可以根据需要替换任何文本(例如将&lt;a&gt; 的内容更改为Local Contents 或任何您喜欢的内容。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-05-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-22
      • 2015-02-04
      相关资源
      最近更新 更多