web-dev-qa-db-ja.com

reStructuredTextをHTMLに解析する

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

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

そこで私は、reStructuredTextの解析を担当するDocutilsを調べました。この関数を見つける方法がまったくわかりませんでした。 Web上のドキュメントはむらがあります。 docutils.parsers.rstモジュールの関数の多くは、ファイル名を対象としているようです。私はファイル名を持っていません!文字列を扱っているだけです。

ParserDocumentを作成してparseメソッドを使用しようとしましたが、.tab_width設定がないというエラーが表示されます。

ReStructuredTextをHTMLに解析する方法を知っている人はいますか?

55
Ram Rachum

次のようなものを試してください。

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

publish_string文字列を受け入れて文字列を出力するか、 publish_parts を使用してhtmlドキュメントの特定の部分を取得できます。

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