16 名前:デフォルトの名無しさん 投稿日:2007/04/10(火) 17:35:11
docutilsをライブラリとして使う方法を探しています。
s = """
* foo
* bar
* baz
"""
html = rst2html(s)
print html,
としたら
<ul>
<li>foo</li>
<li>bar</li>
<li>baz</li>
</ul>
に変換されるようにしたいんです。
http://docutils.sourceforge.net/
をみてもいまいち分からないのですが、アドバイスお願いします。
17 名前:デフォルトの名無しさん 投稿日:2007/04/10(火) 19:17:57
import docutils.core
src = """\
* foo
* bar
* baz
"""
settings = {
"stylesheet": "",
"stylesheet_path": None,
}
print docutils.core.publish_string(src, writer_name='html',
settings_overrides=settings)
18 名前:デフォルトの名無しさん 投稿日:2007/04/10(火) 19:27:10
>>17
ありがとうございます
19 名前:デフォルトの名無しさん 投稿日:2007/04/10(火) 19:37:16
1. docutilsをライブラリとして使う、ねえ。まず rst2html.py が何してるか見てみますか。
2. docutils.core.publish_cmdline() とゆー関数を呼んでるなあ。どういう関数かな。(site-packages/docutils/core.py を見る)
3. publish_なんちゃら という関数がいっぱいあるなあ。お、publish_string とゆー関数もあるなあ。
4. 使い方がよく分からないから docutils.core.publish_string でググってみよう。(用例が見つかる)
5. publish_string にはたくさん引数があるなあ。writer_name は rst2html.py で指定されてるのと同じ値を渡してみよう。
6. スタイルシートファイルが無いって怒られるなあ。デフォルトの値だとマズいんだろうなあ。
7. settings_overrides とゆー引数の値にテキトーな辞書を指定すればデフォルトを上書き指定できるんだろうなあ。
8. rst2html.py のコマンドラインオプションに --stylesheet-path とゆーのがあるから "stylesheet_path" を辞書のキーにしてみよう。(ビンゴ!)
9. とりあえずスタイルシートファイルは要らないなあ。値は None にしてみよう。
というような調子で試行錯誤した結果が>>17のコード。
要約すると「ソース嫁」「ググれ」。