如何从我的.rst文件访问sphinx conf.py中的变量?

nu *_*est 4 python restructuredtext python-sphinx

我是Sphinx和reStructuredText的新手。

在我的狮身人面像中,conf.py我定义了:

version = '0.0.2'
Run Code Online (Sandbox Code Playgroud)

里面的tutorial.rst我想要访问的version变量,并显示0.0.2在我的HTML文件。我试过了:

version

|version|

:version:

.. |version|

.. :version:
Run Code Online (Sandbox Code Playgroud)

我成功测试了该版本的内容。

.. ifconfig:: version == '0.0.2'

    This prints!
Run Code Online (Sandbox Code Playgroud)

这令人鼓舞,但不是我想要的。

小智 7

如果您希望在任何地方都可以使用此功能,则可以执行以下操作:

conf.py

rst_epilog = """
.. |ProjectVersion| replace:: Foo Project, version {versionnum}
""".format(
versionnum = version,
)
Run Code Online (Sandbox Code Playgroud)

文件

As one may see, we have made significant strides in |ProjectVersion| 
and hope that you enjoy the product!
Run Code Online (Sandbox Code Playgroud)

rst_epilog列表使得在它里面的物品全局提供给编译.rst文件。参见http://www.sphinx-doc.org/en/1.4.8/config.html#confval-rst_epilog

  • 由于读取 conf.py 文件时会评估“rst_epilog”,因此不会以这种方式考虑使用“-D”覆盖的配置值。 (2认同)
  • 在 `.. code-block` 指令中使用 `|ProjectVersion|` 似乎不起作用。 (2认同)