Wikiエンジンに文中アンカー記法追加

2008/09/19

今まで技術資料内のアンカー(リンク)は独立した行に記述していたのですが、文中にも記述できるように記法を追加しました。

例えば

アップルのWebサイトは[[http://www.apple.com/jp/|こちら]]です。

と書くとWikiエンジンで

アップルのWebサイトは<a href="http://www.apple.com/jp/">こちら</a>です。

と変換されます。

この記法を処理するためWikiエンジン(Ruby)に以下のようなコードを追加しました。

data.gsub!(/\[\[(.+)\|(.+)\]\]/, "<a href=\"\\1\">\\2</a>")  # [[<url>|<説明>]]
data.gsub!(/\[\[(.+)\]\]/, "<a href=\"\\1\">\\1</a>")        # [[<url>]]

gsub中でマッチパターンを指定する時は「#{$1}」「#{$2}」と書くのではなく「\\1」「\\2」のようにすると良いようです。