在toctree中插入文档时,显示的链接是文档的主标题。所以当我这样做时:
.. toctree::
materials/diffuse
materials/glossy
materials/specular
我明白了:
材料
“材料”这个词在toctree中显然是多余的,但在文档标题中很重要,以便更好地理解。
RST允许我写这个:
.. toctree::
Diffuse<materials/diffuse>
Glossy<materials/glossy>
Specular<materials/specular>
但我不喜欢这样,因为重命名文档需要更新索引toctree,链接更新是我从MediaWiki转到Sphinx的原因。此外,这会禁用在toctree
中使用:glob:和wildcards问题:有没有办法在leaf文档中指定一个toctree标题,例如在“diffuse.rst”中作为元属性?
谢谢!
答案 0 :(得分:-1)
从概念上讲,css content属性将在此处适用。假设您的标题是使用<h1>
元素呈现的,则您需要这样的内容:
.. raw:: html
<style>
h1:after {
content: " Material";
}
</style>
<style>...</style>
块正在工作。您的文档保留一个单词标题(“漫反射”,“光泽”,“镜面反射”),而CSS在渲染时添加了“材质”。因此,您的页面具有所需的标题,并且toctree中没有每个项目的多余“材料”。但是,您希望该块在“材料”部分的页面上仅仅显示-您不能仅将其添加到主CSS文件中,否则它将影响所有{{1 }}元素。不幸的是,据我所知,Sphinx没有一种机制可以在页面的<h1>
部分中正确创建<style>
块。因此,要使用此CSS技术,您必须接受将其放入页面上某处的<head>
指令中的完整技巧。将其放在文档中的位置并不重要-您选择的任何位置都将生成无效的html,但是将呈现您想要的内容:您的toctree标签将不包含“ material”;您的页面标题将会。