gpt4 book ai didi

python-sphinx - 用 reStructuredText (Sphinx) 替换文件名?

转载 作者:行者123 更新时间:2023-12-03 20:52:34 29 4
gpt4 key购买 nike

我想从单个模板创建多个文件,这些文件仅在变量名称上有所不同。例如 :

(file1.rst):

.. |variable| replace:: 1
.. include template.rst

(模板.rst):
Variable |variable|
=====================

Image
-------

.. image:: ./images/|variable|-image.png

当然,我有一个名为“./images/1-image.png”的图像。 “|变量|”的替换通过“1”在标题中效果很好,但在图像文件名中无效,并且在编译时我得到:
WARNING: image file not readable: ./images/|variable|-image.png

我怎样才能让 reST 也在变量名中进行替换? (如果这有任何改变,我正在使用 Sphinx)。

最佳答案

这里有两个问题:替换问题和解析顺序问题。

对于第一个问题,替换引用|variable|不能有相邻字符(除了空格或 _ 用于超链接)否则它不会解析为替换引用,因此您需要对其进行转义:

./images/\ |variable|\ -image.png

然而,第二个问题即将来临。虽然我不确定细节,但似乎 reST 无法解析其他指令中的替换。我认为它首先解析图像指令,将其放入文档树中,因此超出了替换机制的范围。同样,我认为不可能使用替换来插入要解析的内容(例如 .. |img1| replace::`.. image:: images/1-image.png` )。这都是基于一些测试和我对 official documentation 的不完整理解的推测性的。 ,所以知识渊博的人可以纠正我在这里所说的。

我认为您知道实际的图像替换指令(与文本替换相反),但我认为它没有达到您的目标(您仍然需要一个单独的图像指令作为从|变量|),但无论如何它看起来像这样:
.. |img1| image:: images/1-image.png

由于您使用的是 Sphinx,您可以尝试创建自己的指令扩展(请参阅 this answer 了解信息),但它不会解决内部标记替换问题。

关于python-sphinx - 用 reStructuredText (Sphinx) 替换文件名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20513972/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com