Sphinx знает две директивы для условного содержимого:
- только => http://www.sphinx-doc.org/en/1.4.8/markup/misc.html#tags
- ifconfig => http://www.sphinx-doc.org/en/1.4.8/ext/ifconfig.html
В чем разница между ними?
Sphinx знает две директивы для условного содержимого:
В чем разница между ними?
only
Директива only
используется для включения/исключения содержимого на основе tags
. tags
можно указать:
only
очень похожим на ifconfig
)Использование флага -t
для sphinx-build
(не работает как флаг для make
, потому что -t
является флагом --touch
для make
)
пример.первый
.. only:: draft
This message only appears in drafts.
команда
$ sphinx-build -t draft -b html -d _build/doctrees . _build/html
Формат или имя построителя. Вот где only
сияет. Содержимое .. only:: html
будет создано только при использовании make html
и т. д.
пример.первый
.. only:: html
This message only appears in HTML output.
команда
$ make html
ifconfig
ifconfig
дает вам возможность включать содержимое на основе истинности любого выражения Python, включающего переменные конфигурации, зарегистрированные в conf.py. Это означает, однако, что вам нужно отредактировать conf.py, чтобы изменить, включен ли контент или исключен.
Если вы хотите, чтобы ваш контент менялся без редактирования conf.py, вам нужен only
. Например, я использую only
для включения оглавления (директива contents
) в свои документы HTML, но не в документы pdf (поскольку LaTeX создает их самостоятельно).