HTML Sphinx 中的变量

HTML variables in Sphinx

我试图在 conf.py 中插入一个应用于字符串的 link 变量:

rst_epilog = """
.. |support| replace:: `support team <support@blabla.com>`_
"""

在这种情况下,'support team' 将变成指向电子邮件地址的 link。

不幸的是,这不起作用并且构建中断。

所以我尝试将 HTML 转储到那里,不知道替换何时发生,但它发生在 HTML 转换之前,所以这在我的输出中不起作用。

rst_epilog = """
.. |support| replace:: <a href="support@blabla.com">support team</a>
"""

知道我可以用变量来做到这一点吗?

使用这个替换定义:

.. |support| replace:: support team support@blabla.com

support@blabla.com 被自动识别为 mailto link。

|support| 替换引用产生以下输出:

support team <a class="reference external" href="mailto:support&#37;&#52;&#48;blabla&#46;com">support<span>&#64;</span>blabla<span>&#46;</span>com</a>

另一种方法是使用 raw-html 角色(参见 http://docutils.sourceforge.net/docs/ref/rst/roles.html#raw)。

将此添加到 conf.py:

rst_epilog = """
.. role:: raw-html(raw)
   :format: html

.. |support| replace:: :raw-html:`<a href="mailto:support@blabla.com">support team</a>`
"""