Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python sphinx 斯芬克斯中的嵌套替换_Python Sphinx_Substitution_Restructuredtext - Fatal编程技术网

Python sphinx 斯芬克斯中的嵌套替换

Python sphinx 斯芬克斯中的嵌套替换,python-sphinx,substitution,restructuredtext,Python Sphinx,Substitution,Restructuredtext,我正在中创建文档(我仍在学习基础知识)。在我的项目中,有一些文件的名称很长,我在文档中多次引用它们,因此,为了让我的生活更轻松,我决定使用如下替换: .. |MyFile| replace:: a_very_very_long_name_for_a_file_v2.0.txt 然后我只需在任何我想引用该文件的地方键入| MyFile |。这很好,但现在我想让version部分变为变量,这样我就不必在发布新版本时更改所有别名(我肯定会忘记一些事情)。幸运的是,Sphinx设置了变量version

我正在中创建文档(我仍在学习基础知识)。在我的项目中,有一些文件的名称很长,我在文档中多次引用它们,因此,为了让我的生活更轻松,我决定使用如下替换:

.. |MyFile| replace:: a_very_very_long_name_for_a_file_v2.0.txt
然后我只需在任何我想引用该文件的地方键入
| MyFile |
。这很好,但现在我想让version部分变为变量,这样我就不必在发布新版本时更改所有别名(我肯定会忘记一些事情)。幸运的是,Sphinx设置了变量
version
,因此我尝试:

.. |MyFile| replace:: a_very_very_long_name_for_a_file_v |version| .txt

但是嵌套替换被忽略了。我已经在谷歌上搜索了一个多小时,我很惊讶以前没有人问这个问题。我已经看到了一些关于解析文本的东西,但我无法使它工作。基于其他别名生成别名应该是很常见的,对吗?我错过什么了吗?有更好的方法吗?

它适合我。您是否在conf.py中将
版本设置为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
之前和之后的空格被转义,以便从输出中排除它们(请参见)。

是的,我这样做了。但是非常感谢,因为现在我看到我在做一些愚蠢的事情:我有:
|MyFile | replace::**a|u文件的一个非常长的名称| v\| version |\.txt**
。这个*使整个事情都不起作用,如果我把它们去掉,效果就好了。我快发疯了,问题一直摆在我面前。那么,为了完成这个问题,有没有一种方法可以在替换中使用粗体、斜体等?嵌套的内联标记很难。它并没有得到真正的支持,但有或多或少丑陋的变通方法。见和。