3

以下は私のコードです

from docutils.core import publish_string
from docutils.writers.html4css1 import Writer as HisWriter

args = {
    'stylesheet' : '/home/wonder/lab/css/note.css',
    'stylesheet-path' : None,
}

src = 'ccav'
print publish_string(src, writer=HisWriter(), settings_overrides=args)

次のエラーが発生しました。

AssertionError: stylesheet and stylesheet_path are mutually exclusive.

したがって、次のように変更argsします。

args = {
    'stylesheet-path' : '/home/wonder/lab/css/note.css',
    'stylesheet' : None,
}

今、エラーはありません。しかし、 HTML出力に挿入されたスタイルシートは の内容ではありません/home/wonder/lab/css/note.css。まだ/usr/local/lib/python2.7/dist-packages/docutils/writers/html4css1/html4css1.cssです。

つまり、publish_cmdline を使用する場合にコマンド ラインでオプションを指定する場合とは異なり、publish_string を使用する場合、settings_overridesHTML 固有のオプションを含む引数は効果がありません。

4

1 に答える 1

3
from docutils.core import publish_string
from docutils.writers.html4css1 import Writer as HisWriter

src = 'ccav'
args = {
    'stylesheet_path' : '/path/to/your/stylesheet'

}
print publish_string(src, writer=HisWriter(), settings=None, settings_overrides=args)

組み込みのスタイルシートを無視するのではなく、実行settings = Noneして使用する必要があります。stylesheet_pathstylesheet

編集: distutils に付属するサンプル スクリプトの 1 つのソースでこの回答を見つけたことに注意してくださいsettings = None

于 2011-07-23T08:23:56.980 に答える