狮身人面像中的嵌套替换

时间:2015-12-22 20:20:28

标签: python-sphinx restructuredtext

我正在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的一些内容,但我无法使其发挥作用。基于其他别名制作别名应该是很常见的,对吧?我错过了什么吗?对此有更好的方法吗?

1 个答案:

答案 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)。