Wikiパーサは正規表現の格好の勉強になります

2007/09/15

当サイトの各ページはWiki記法で記述しています。

この業界の人間としては遅いのですが、数ヶ月前にWikiに触れる(参照ではなく実際に更新する)機会があり、各ページをWiki記法で記述して描画エンジンがそれをHTMLに変換するという考え方がとても気に入ったので自分のサイトを作るにあたってかなり参考にしました。

最初はPukiWikiなどのOSSをいくつかインストールして使ってみたのですが、機能が豊富すぎて逆に使いづらかったので「この際自分で作ってしまえ」と思って作ったのが今のページ描画エンジンです。

使用しているWiki記法のパターンはわずか数種類で、かつ正規表現を活用してとてもシンプルな描画ロジックになっています。

特に当サイトは全てRubyで書いているので正規表現とマッチング関連クラスの組み合わせが非常に強力で、最近では調子にのって自分で検索エンジンも自作してしまったりしています。

「こういうパターンの文字列がきたらこういうタグに変換して」とか「このパターンは検索対象外なので検索インデックスに登録しない」とか、いろいろな場面で活用できます。

ウノウラボでbokkoさんも書かれていますが、パース系の処理を書く際に正規表現は格好の勉強になります。