我正在为我的一个项目使用Sphinx Doc创建文档,并且我在整个文档中使用了很多次单词,例如 - IP地址,端口号和许多其他可能随时间变化的内容.如果由于某种原因,其中一个将被更改,我想在一个地方简单地改变它,而不是在每个文件中手动改变它.我正在寻找的是一种创建某种资源文件/变量的简单方法,可以从我的所有.rst文件中轻松访问.
我找到了这个:
my_config_value = 'test'
rst_epilog = '.. |my_conf_val| replace:: %s' % my_config_value
Run Code Online (Sandbox Code Playgroud)
它几乎是完美的,但我想要有很多变数.使用上面的方法,我只能使用一个 - 这还不够.
我也找到了使用方法sphinx.ext.extlinks.它工作正常,但并不完全符合我的想法.我在我的使用中conf.py:
extlinks = {'test': ('bla_bla_bla', None)}
Run Code Online (Sandbox Code Playgroud)
然后,在某些情况下:
:test:`1`
Run Code Online (Sandbox Code Playgroud)
结果 bla_bla_bla1
首先,这是无处的超链接.第二,我不能写
:test:` `
Run Code Online (Sandbox Code Playgroud)
甚至只是:test:,因为它不起作用.
我的问题出现了:是否有任何简单的方法来创建变量,可以在整个doc中使用?
感谢mzjn,我找到了我的问题的确切答案.如果有人将来会搜索它,我会在下面留下答案.
在我的conf.py我添加了这个:
address = '192.168.1.1'
port = 'port 3333'
rst_prolog = """
.. |address| replace:: {0}
.. |port| replace:: {1}
""".format(
address,
port
)
Run Code Online (Sandbox Code Playgroud)
然后在我的.rst中使用:
|address| - |port|
Run Code Online (Sandbox Code Playgroud)
结果192.168.1.1 - port 3333.这正是我所需要的.非常感谢mzjn.
| 归档时间: |
|
| 查看次数: |
828 次 |
| 最近记录: |