我正在Sphinx创建我的文档(我仍在学习基础知识)。在我的项目中有一些名字很长的文件,我在我的文档中多次引用它们,所以,为了让我的生活更轻松,我决定使用这样的替换:
.. |MyFile| replace:: a_very_very_long_name_for_a_file_v2.0.txt
然后我只需在我要引用该文件的任何地方输入|MyFile|
。这样做很好,但现在我想让版本部分变量,所以当我发布新版本时我不必更改所有别名(我确定会忘记某些内容)。幸运的是,Sphinx设置变量version
,所以我尝试了:
.. |MyFile| replace:: a_very_very_long_name_for_a_file_v |version| .txt
但是忽略了嵌套替换。我现在谷歌搜索超过一个小时,我很惊讶没有人问过这个问题。我已经看过Parsed Literals的一些内容,但我无法使其发挥作用。基于其他别名制作别名应该是很常见的,对吧?我错过了什么吗?对此有更好的方法吗?
答案 0 :(得分:1)
它对我有用。您是否在conf.py中将version
设置为2.0?
替换定义:
.. |MyFile| replace:: a_very_very_long_name_for_a_file_v\ |version|\ .txt
使用|MyFile|
参考时的输出:
a_very_very_long_name_for_a_file_v2.0.txt
请注意,|version|
之前和之后的空格会被转义,以便将它们从输出中排除(请参阅http://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html#escaping-mechanism)。