PukiWikiでは[[タイトル:http://link.example.com/a/b/c]]のようにしてリンクを張ることが出来ますが、同じホスト内のWiki以外の箇所にリンク先したい場合があります。
特にエイリアスやヴァーチャルホストなどで、ホスト部分が変動する場合には通常の方法では対応できません。そこで同ホストの相対・絶対URLにリンクを張るパッチを書いてみました。
下記のパッチをPukiWiki-1.4.7_notb_utf8に適用することで、
[[タイトル:./d/e/f]]のようにしてhttp://link.example.com/wiki/d/e/fにリンク (相対URL。PukiWikiがhttp://link.example.com/wiki/にある場合)[[タイトル:/d/e/f]]のようにしてhttp://link.example.com/d/e/fにリンク (絶対URL)
と、相対・絶対URLにリンクを張ることが出来るようになります。
[~/pukiwiki-1.4.7_notb_utf8]$ patch -p1 < thispatch
diff -ur a/lib/make_link.php b/lib/make_link.php
--- a/lib/make_link.php 2006-10-22 05:40:25.000000000 +0900
+++ b/lib/make_link.php 2008-11-22 11:30:12.000000000 +0900
@@ -360,7 +360,7 @@
(?:>|:)
)?
( # (3) url
- (?:(?:https?|ftp|news):\/\/|mailto:)[\w\/\@\$()!?&%#:;.,~'=*+-]+
+ (?:(?:https?|ftp|news):\/\/|mailto:|\.\/|(?<!\w)\/)[\w\/\@\$()!?&%#:;.,~'=*+-]+
)
(?($s1)\]\]) # close bracket
EOD;
20081122-2307 絶対URLの適用範囲が広すぎたので修正

No Comments yet »
コメント RSS TrackBack URI
コメントをどうぞ