5

sphinx 拡張機能があり、コンテンツifconfigを条件付きで含めることができます。条件付きで拡張機能を含める方法を探しています。私の最善の試みは、次のオプションを使用して拡張機能のリストを提供することです。-Dsphinx-build

sphinx-build -b singlehtml -d _build/doctrees -D html_theme=empty -D "extensions=['sphinx.ext.autodoc', 'sphinx.ext.viewcode', 'sphinx.ext.numfig', 'sphinx.ext.ifconfig', 'cloud_sptheme.ext.table_styling', 'sphinx.ext.htmlmath']" . _build/wkA

しかし、うまくいきません。

問題は、条件付きでsphinx.ext.htmlmathorを含めることsphinxcontrib.mathmlです。

4

2 に答える 2

4

http://sphinx-doc.org/invocation.html#cmdoption-sphinx-build-tを使用-t <tag>

たとえば、次のように sphinx を呼び出します ( を参照-t use_htmlmath)。

sphinx-build -b singlehtml -d _build/doctrees \
   -D html_theme=empty -t use_htmlmath . _build/wkA

このコードを入れてconf.py

if tags.has('use_htmlmath'):
    # use supplied =t use_htmlmath
    extensions.append('sphinx.ext.htmlmath')
else:
    #fall back
    extensions.append('sphinxcontrib-mathml')
于 2013-06-09T18:05:17.987 に答える
1

conf.pyは python モジュールであり、リストであるため、条件に基づいてextensions拡張子を追加するだけです。extensions

extensions = ['sphinx.ext.autodoc', 'sphinx.ext.doctest']

my_condition = 1

if my_condition == 1:
    extensions.append('sphinx.ext.htmlmath')
elif my_condition == 2:
    extensions.append('sphinxcontrib-mathml')
elif my_condition == 3:
    extensions.append('sphinx.ext.mathjax')
else:
    print "Didn't found a suitable extension"

ただし、ビルド プロセスを開始する前に、自分の状態を知っておく必要があります。

于 2013-06-08T19:37:07.383 に答える