Sphinx - 从单一来源

时间:2017-05-12 16:56:27

标签: documentation python-sphinx

我正在尝试查找有关Sphinx将某些文档标记为“内部”的功能的信息,并将其构建为sphinx-build -b -include internal source output,其中-include标记将包含一系列要包含在其中的标记输出。

这样我就可以生成2个版本(或更多)的文档,同时保持单一来源。

示例:

.. audience::internal

Page title
============

This whole page will be available only in the internal docs.

Page title
============

This whole page will be available in the internal and external docs. 

.. audience::internal

That p will only be available in the internal docs.

This p will be available in the internal and external docs.

有这样的机制吗?如果没有,难以创造吗?

2 个答案:

答案 0 :(得分:2)

Sphinx扩展程序ifconfig可能会执行您想要的操作,但您必须缩进内容。

答案 1 :(得分:0)

ifconfig确实是这样做的一种方法,但在询问之后,似乎有更好的机制:

.. only:: directive

用它来标记某些内容:

.. only:: internal

   Page title
   ============

   This whole page will be available only in the internal docs.

然后,您可以使用-t选项运行构建,以发布标有internal(或您使用的任何内容)的所有内容

sphinx-build -t internal -b html source output

我希望这会有所帮助。