技術をかじる猫

適当に気になった技術や言語、思ったこと考えた事など。

PukiWiki のコンバートを考えてみる。

何か懐かしい単語が聞こえたので聞いてみたら、どうも別なwiki system に pukiwiki を移行したいらしい。
で、マークアップをどうにか変更できないか?みたいな話が出てた。

それを聞いて、「てーかマークアップ解析ロジックあるんだから、インジェクションかければいんじゃね?」と何も考えずに発言。
ということで、ざくっと pukiwiki のコードを眺めてみる。

で、30分程度程度読んだので、ざくっとメモ。

pukiwiki 自体は素のテキストファイルにマークアップ保存しといて、表示時にそれを解釈して表示する。
そこのところの解釈コードは lib/convert_html.php に書いてあった。

convert_html メソッドが実質のエントリ。Body の parse メソッドで自分の階層を解釈し、Html の複数階層をここで作るらしい。
なので、各クラス=Htmlタグ階層に対応したコンバータ用意すれば問題は解決じゃい?

てか変換精度はいいかも知れんがめんどくせえ。

直にマークアップ解釈すんのとどっちが楽か悩むな。