rst2confluence

reStructuredTextで書いた製品マニュアルなどをConfluenceのWikiに載せてみようと思い、変換用のスクリプトを作成しました。といっても、まだ作りかけで必要になったディレクティブを順次追加しているような状態ですが。
kenichiro22's rst2confluence at master - GitHub
ひとまず以下のディレクティブに対応していますが、これらについても完璧ではないです。

  • bullet list
  • enumerated list
  • note, warning
  • image
  • definition list
  • simple table
  • block quote
  • text effect
    • strong
    • emphasis

使用方法は、コマンドプロンプトで以下を実行します。

python rst2confluence.py reSTのファイル名 > out.txt

docutiles.writer.Writerと、nodes.NodeVisitorを継承したクラスを作成してイベント駆動でディレクティブを処理しています。SAXと同じようなビジターパターンになっています。作成にあたっては、以下を参考にさせていただきました。

特に2つ目のサイトのreSTをTracのWikiに変換するスクリプトを流用しています。