在Sphinx中,可以使用以下语法生成文件链接:
`name_of_file.js <some/location/name_of_file.js>`_
Run Code Online (Sandbox Code Playgroud)
在conf.py文件中,version定义了一个变量,我们可以在.rst文件中使用这样的变量:
|version|
Run Code Online (Sandbox Code Playgroud)
不允许使用该语法将版本包含到文件链接中:
`name_of_file.|version|.min.js <some/location/name_of_file.|version|.min.js>`_
Run Code Online (Sandbox Code Playgroud)
那么,我如何生成指向类似文件的链接name_of_file.<version_num>.min.js并使用conf.py中的版本号?
我需要类似的东西,经过多次实验,我有一个解决方法.请注意,这是一个糟糕的解决方案,但它的工作原理.
简短的回答:
您需要将链接的各个部分拆分为| version |的左侧和右侧 并使用原始html和|version|.你的.rst看起来像这样:
Example of a link with version in it |link-pre|\ |version|\ |link-post|
.. |link-pre| raw:: html
<a href="some/location/name_of_file.
.. |link-post| raw:: html
.min.js">name_of_file.min.js</a>
Run Code Online (Sandbox Code Playgroud)
答案很长
我们需要克服几个障碍:
问题1:现在,|version|本质上是一个替代定义.当您在文档中使用替换引用时,它必须以space类似的方式引导|version|.
因此,即使在常规的rsT句子中,这不是一个链接,你也做不到name_of_file.|version|.min.js.你需要做的name_of_file.\ |version|.min.js,即逃离space了\
问题2:reST不支持嵌套内联标记:http://docutils.sourceforge.net/FAQ.html#is-nested-inline-markup-possible
因此,您无法|version|在链接中进行替换\`name_of_file.|version|.min.js`\.这就是为什么我们要使用原始的HTML,并将其分解成部分,我们创建2点替代的定义|link-pre|和|link-post|,这将在生成的输出其原始的HTML被替换.
我尝试使用内联:raw-html: 角色,但没有帮助,所以不幸的是,解决方案结果是冗长的.
| 归档时间: |
|
| 查看次数: |
809 次 |
| 最近记录: |