2008年8月19日火曜日

markdown

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
wikiの記法を複数サポートするつもりでいろいろ調べている。

先日はreStructuredTextを調べた。こいつはdocutilでサポートされているらしく、使うにはあまり深く考えずにexample.pyの中身をコピーして変えればよいようだ。
実装としてはDocument Treeを作るタイプ。ちょっと複雑なことをやろうとしたら普通。

今日はmarkdownなのだが、pythonでこれを扱うライブラリはすくなくとも二つあって、

  • markdown

  • markdown2


どちらもシングルファイルmoduleで2000行くらい。後者の著者は処理速度が速くて実装していない仕様も少ないぜといっているが、実装を見る限り前者のほうが好ましい。

まず、後者はインデントが深くてキモイ。つぎにtextの置換処理を重ねている実装なので変更が効かない。これでは独自拡張が入れにくい。一方で前者は仕様の違い(mid wordとか)を気にしているし、なにせコードがきれい。Documnet Treeを生成するタイプで、拡張手段を与えている。

0 件のコメント: