2011-07-11 13 views
54

私は、開発者にreStructuredTextを使ってパッケージを記述させるためのフレームワークを作っています。そのreStructuredTextをHTMLに解析して、GUIで表示できるようにします。reStructuredTextをHTMLに解析する

私は優れたスフィンクスに精通していますが、私はreStructuredTextを解析したことはありません。私は、reStructuredTextの文字列と場合によってはいくつかの追加の引数を取り、HTML文字列を返す関数のようなものを想像しました。

私はReStructuredTextの解析を担当するDocutilsについて調べました。私はこの機能を見つける方法を全く理解できませんでした。ウェブ上のドキュメントは不自然です。 docutils.parsers.rstモジュールの多くの機能がファイル名に対応していたようです。私はファイル名がありません!私は文字列を処理しています。

私はParserDocumentを作成し、parse方法を使用してみましたが、私はちょうど行方不明.tab_width設定に関するエラーが発生します。

誰かがreStructuredTextをHTMLに解析する方法を知っていますか?

答えて

60

このような何か試してみてください:

>>> from docutils.core import publish_string 
>>> publish_string("*anurag*", writer_name='html') 

publish_string文字列を受け取り、文字列を出力したり、例えば、HTML文書の特定の部分を取得するためにpublish_partsを使用することができますが

>>> from docutils.core import publish_parts 
>>> print publish_parts("*anurag*", writer_name='html')['html_body'] 
<p><em>anurag</em></p> 
+5

あなたの2番目の提案はより効果的なものでした。「ボディ」はまさに私が望むものでした。 –

+2

ドキュメント(http://docutils.sourceforge.net/docs/api/publisher.html#publish-parts-details)にリンクする必要があります。そして、FWIW、いくつかの関連するコードスニペットがあります:http://code.activestate.com/recipes/193890-using-rest-restructuredtext-to-create-html-snippet/ –