PukiWiki のコンバートを考えてみる。
何か懐かしい単語が聞こえたので聞いてみたら、どうも別なwiki system に pukiwiki を移行したいらしい。
で、マークアップをどうにか変更できないか?みたいな話が出てた。
それを聞いて、「てーかマークアップ解析ロジックあるんだから、インジェクションかければいんじゃね?」と何も考えずに発言。
ということで、ざくっと pukiwiki のコードを眺めてみる。
で、30分程度程度読んだので、ざくっとメモ。
pukiwiki 自体は素のテキストファイルにマークアップ保存しといて、表示時にそれを解釈して表示する。
そこのところの解釈コードは lib/convert_html.php に書いてあった。
convert_html メソッドが実質のエントリ。Body の parse メソッドで自分の階層を解釈し、Html の複数階層をここで作るらしい。
なので、各クラス=Htmlタグ階層に対応したコンバータ用意すれば問題は解決じゃい?
てか変換精度はいいかも知れんがめんどくせえ。
直にマークアップ解釈すんのとどっちが楽か悩むな。