Python 将自定义侧栏模板映射到任何名为“index.rst”的文档
假设我有以下项目结构:Python 将自定义侧栏模板映射到任何名为“index.rst”的文档,python,python-sphinx,Python,Python Sphinx,假设我有以下项目结构: / index.rst 1/ index.rst a.rst 2/ index.rst b.rst 3/ index.rst c.rst 如何在Sphinx的conf.py中创建适用于所有名为index.rst的文件的规则?如果可能,请提供Sphinx支持文档,解释可与html_边栏一起使用的各种通配符 或者我必须明确指
/
index.rst
1/
index.rst
a.rst
2/
index.rst
b.rst
3/
index.rst
c.rst
如何在Sphinx的conf.py中创建适用于所有名为index.rst的文件的规则?如果可能,请提供Sphinx支持文档,解释可与html_边栏一起使用的各种通配符
或者我必须明确指定每个文件
html_sidebars = {'**': ['non-index-template.html'],
'index.rst': ['index-template.html'],
'1/index.rst': ['index-template.html'],
'2/index.rst': ['index-template.html'],
'3/index.rst': ['index-template.html']
}
切题是,有没有一种方法可以引用该字典中字典键的值?例如
html_sidebars = {'**': ['non-index-template.html'],
'index.rst': ['index-template.html'],
'1/index.rst': [this['index.rst']],
'2/index.rst': [this['index.rst']],
'3/index.rst': [this['index.rst']]
}
我也在谷歌集团发布了这个问题。下面是一个来自中国的答案 这可能会起作用,但请注意,它会发出警告:
html_sidebars = {
'**': ['non-index-template.html'],
'**/index': ['index-template.html'],
'index': ['index-template.html']
}
Re:引用该词典中词典键的值:
html_sidebars = {
'**': ['non-index-template.html'],
'index.rst': ['index-template.html']
}
html_sidebars['1/index.rst'] = html_sidebars['index.rst']
html_sidebars['2/index.rst'] = html_sidebars['index.rst']
html_sidebars['3/index.rst'] = html_sidebars['index.rst']
或者
从以下脚注:
关于可用的globbing语法的说明:您可以使用标准shell
构造*、?、[…]和[!…]以及这些
所有的都不匹配斜杠。双星**可用于匹配任何
字符序列,包括斜杠
因此,以下内容将完成我所追求的目标,让我知道是否有更简洁的可用语法:
html_sidebars = {'**[!i][!n][!d][!e][!x]': ['non-index-sidebar.html'],
'**index': ['index-sidebar.html'],
}
html_sidebars = {'**[!i][!n][!d][!e][!x]': ['non-index-sidebar.html'],
'**index': ['index-sidebar.html'],
}