我正在使用Sphinx来记录将部署在不同服务器中的Web服务.该文档中包含用户单击的URL示例,它们应该可以正常工作.我的问题是主机,端口和部署根目录会有所不同,必须为每个部署重新生成文档.
我尝试定义这样的替换:
|base_url|/path
.. |base_url| replace:: http://localhost:8080
Run Code Online (Sandbox Code Playgroud)
但生成的HTML不是我想要的(在生成的链接中不包括"/ path"):
<a href="http://localhost:8080">http://localhost:8080</a>/path
Run Code Online (Sandbox Code Playgroud)
有人知道如何解决这个问题吗?
python documentation restructuredtext substitution python-sphinx
如果我这样做,sphinx-quickstart我会被问及项目的版本.
我想避免为我的项目版本提供两个位置.
如何在python包装世界中做到这一点?
我正在使用 sphinx,我想在我的文档主页上从 conf.py 显示我的项目版本。
我正在编写一个新项目的文档 Sphinx
但是因为这个项目是新的,它的名字可能会改变,我不想在我的所有文档中替换所有"项目名称"的引用.
所以我想知道是否有办法将一些变量/常量放在上面Sphinx.
我知道有一个i18n功能Sphinx,所以我可以使用gettext更改"项目名称"而不需要其他任何东西.但我正在寻找一种正确的方法来做到这一点.
如何在Sphinx中定义多个全局替换?
我在这个问题中看到如何使用conf.py中的rst_prolog创建全局替换.例如,
rst_prolog = '.. |my_conf_val| replace:: 42'
Run Code Online (Sandbox Code Playgroud)
我能找到的所有这些例子只能在rst_prolog中定义一个替换,但我想做多个.我试过这个:
rst_prolog = """.. |sub1| replace:: mine1\
.. |sub2| replace:: mine2"""
Run Code Online (Sandbox Code Playgroud)
当我把| sub1 | 到第一个文件中的文本,| sub1 | 是(毫不奇怪)替换为:
mine1 .. |sub2| replace:: mine2
Run Code Online (Sandbox Code Playgroud)
这里的语法是什么?
我正在为我的一个项目使用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中使用?