- InterWiki 의 개념을 생각해 볼 때.. 이미지 화일을 인터위키로 적는다는 것 자체가 편법이긴 하지만... 어쨌거나... :-)
- "인터위키이름:그림.jpg" 형식으로 적을 경우, 자동으로 그림이 출력되지 않는 문제가 있었다.
- 조프님의 패치를 적용
-
sub InterPageLink {
my ($id, $useImage) = @_;
my ($name, $site, $remotePage, $url, $punct);
($id, $punct) = &SplitUrlPunct($id);
$name = $id;
($site, $remotePage) = split(/:/, $id, 2);
$url = &GetSiteUrl($site);
return ("", $id . $punct) if ($url eq "");
$remotePage =~ s/&/&/g;
$url .= $remotePage;
if ($useImage && ($url =~ /^(http:|https:|ftp:).+\.$ImageExtensions$/)) {
$url = $1 if ($url =~ /^https?:(.*)/ && $1 !~ /^\/\//);
return ("<img $ImageTag src=\"$url\" alt=\"$id\">", $punct);
}
return ("<a href=\"$url\">$name</a><a href=\"$url\" target=\"_blank\"><img src=\"./emoticon/newwindow.gif\" border=\"0\" alt=\"" . T('Open in a New Window') . "\" align=\"absbottom\"></a>", $punct);
}
- 위에서 볼 수 있듯이 InterPageLink 에 두번째 파라메터가 추가되었다. 호출해주는 곳 각각을 적절히 수정해주어야 한다.
-
sub CommonMarkup {
...
s/$InterLinkPattern/&StoreInterPage($1, $useImage)/geo;
...
}
-
sub StoreInterPage {
my ($id, $useImage) = @_;
my ($link, $extra);
($link, $extra) = &InterPageLink($id, $useImage);
$link = &StoreRaw($link) if ($link ne "");
return $link . $extra;
}
위키위키분류