トップ Team(・∀・)2ch 新規 一覧 検索 ヘルプ RSS ログイン

Part18の変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
!!part18
!docutilsをライブラリとして使う方法を探しています。(16-19)
 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のコード。 
 
 要約すると「ソース嫁」「ググれ」。