在Sphinx中添加自定义标记

时间:2017-03-14 23:02:45

标签: python python-sphinx

我正在使用Sphinx工具进行文档处理,遇到了我想以一种文件格式显示一条信息的情况。
我遇到了this link,仅在指令的帮助下解决了类似的问题。

我面临的问题是我想使用带有自定义标签的唯一指令

.. only:: xyz

  ..directive ::
    :maxdepth: 1

    good_stuff

我正在使用setup.py文件进行构建,并运行BuildDoc.run(self)来生成html文件。我想以某种方式在setup.py文件中传递此自定义标记。我尝试这样做,但似乎我们无法从setup.py文件中访问标记对象。

 def run(self):
    self.builder = 'html'
    *self.tags.add(xyz)*
    BuildDoc.run(self)
    self.zip("html.zip")

如果我在conf.py文件中添加tags.add(' xyz'),它将始终公开其他信息,我想要做的是在我的setup.py文件中有条件地添加此标记。
我假设make命令通过将标记信息传递给conf.py文件来执行类似的操作,但我不确定它是如何工作的。

1 个答案:

答案 0 :(得分:0)

sphinx-build命令接受-t选项,该选项允许您指定可在only条件下使用的标记。

来自sphinx-build --help

    -t TAG            define tag: include "only" blocks with TAG

所以使用类似的东西:

sphinx-build -t xyz

允许您使用.. only:: xyz条件内联。

在我看来,如果您想在setup.py文件中有条件地应用标记,您必须自己编写逻辑以确定是否应该包含self.tags.add('xyz')