Sphinx:与生成的HTML不同的ToC锚名称(单页)

时间:2016-01-06 07:19:23

标签: html themes python-sphinx restructuredtext

我使用singlehtml构建器为Sphinx创建了一些文档。使用basic主题时,不包含目录。 所以我创建了一个自定义主题,包括toc:

<h1 id="h-title">{{ title|striptags|e }}{{ titlesuffix }}</h1>

<div id="manual-toc">
    <h2 id="h-toc">{{ _('Table of contents') }}</h2>
    {% set toctree = toctree(maxdepth=10, collapse=theme_collapse_navigation, includehidden=True) %}
    {{ toctree }}
</div>

{% block body %}{% endblock %}

使用此主题,生成带有toc的单页html。 不幸的是,toc中的链接是错误的。 假设我有以下第一个文件和一些部分:

- 01_intro.rst
|- section1
|- section2
- 02_basics.rst
|- section1
|- section2

以下锚链接位于toc和html中 - 您可以清楚地看到它们不匹配,因此单击toc中的某个部分不会产生任何结果(但应跳转到相应的锚点):

SECTION        TOC-ANCHOR-LINK                ANCHOR-NAME-IN-HTML
- 01_intro     #document-01_intro             #intro
|- section1    #document-01_intro#section1    #section1
|- section2    #document-01_intro#section1    #section2
- 02_basics    #document-02_basics            #basics
|- section3    #document-02_basics#section3   #section3
|- section4    #document-02_basics#section4   #section4

如果我不在模板中使用collapse=theme_collapse_navigation,它只会输出顶级部分,但会使用正确的锚链接。

我该怎么做才能解决这个问题?提前谢谢!

0 个答案:

没有答案