10 번째 수정본
img 매크로
UseModWiki소스수정/이미지매크로 를 그대로 적용
- 사용법: <img(이미지경로,너비,폭[,캡션][,정렬방식])>
- 부작용:
- 전혀 다른 테스트나 점검 없이 가져왔습니다. 조프님을 믿을 뿐~ :-)
- 띄어쓰기를 하면 안 되기 때문에, 결과적으로 "이미지경로,너비,폭..." 등이 통채로 하나의 링크로 취급된다. 즉, Upload:그림.jpg 를 인자로 주었다 하더라도 Upload:그림.jpg,300,0 이란 링크로 저장이 된다는 얘기. 따라서 /UploadedFiles매크로에서 돋보기를 클릭해도 역링크로 검색이 되지 않는다는 매우 기분 나쁜 단점이 있다.
wiki.pl 수정
sub CommonMarkup {
...
if ($useImage) {
$_ = &EmoticonSubst($_); # luke added
}
### img macro from Jof
s/\&__LT__;img\(([^,\n\s]*?)\)\&__GT__;/&MacroImgTag($1,0,0,'','')/gei;
s/\&__LT__;img\(([^,\n\s]*?),(\d+?),(\d+?)\)\&__GT__;/&MacroImgTag($1,$2,$3,'','')/gei;
s/\&__LT__;img\(([^,\n\s]*?),(\d+?),(\d+?),([^,\n]*?)\)\&__GT__;/&MacroImgTag($1,$2,$3,$4,'')/gei;
s/\&__LT__;img\(([^,\n\s]*?),(\d+?),(\d+?),([^,\n]*?),([^,\n\s]*?)\)\&__GT__;/&MacroImgTag($1,$2,$3,$4,$5)/gei;
####
s/\[$UrlPattern\]/&StoreBracketUrl($1, "")/geo;
...
}
함수 통채로 추가
### img from Jof
sub MacroImgTag {
my ($url,$width,$height,$caption,$float) = @_;
my ($s_width,$s_height,$s_tag,$s_divstyle,$s_caption,$return);
$s_width = " width=\"$width\"" if ( $width>0 );
$s_height = " height=\"$height\"" if ( $height>0 );
$s_tag = " title=\"$url\"";
$s_divstyle = " style=\"float:$float;\"" if ($float ne '');
$s_caption = "<br><span class=\"imgcaption\">$caption</span>" if ($caption ne '');
if ($url =~ /$InterLinkPattern/)
{
my $id = $url;
my ($name, $site, $remotePage, $punct, $image);
($id, $punct) = &SplitUrlPunct($id);
$name = $id;
($site, $remotePage) = split(/:/, $id, 2);
$url = &GetSiteUrl($site);
if ($url ne "")
{
$remotePage =~ s/&/&/g; # Unquote common URL HTML
if ($url =~ /\|/) {
($url, $image) = split(/\|/, $url, 2);
}
$url .= $remotePage;
}
}
if ($width > 0 or $height > 0)
{
$return = "<a href=\"$url\"><img src=\"$url\" $s_width $s_height $s_tag border=\"1\" style=\"margin:5px;\"></a>";
}
else
{
$return = "<img src=\"$url\" $s_tag border=\"1\" style=\"margin:5px;\">";
}
if (($caption ne '') or ($float ne ''))
{
$return = "<div align=\"center\" $s_divstyle>$return$s_caption</div>";
}
return &StoreRaw($return);
}
추가 업데이트 내역
사용자 의견
/UploadedFiles매크로에서 돋보기를 클릭했을때 '역링크 검색'이 아니라 '텍스트 검색'을 하도록 하면 위 부작용에 적은 문제점을 해결할 수는 있습니다. (조프님 홈의 경우 텍스트 검색을 하도록 했더군요) 그렇지만 역링크 검색이 훨씬 빠를 텐데 (애초에 역링크 검색을 하게 했던 이유도 그거고) 이 문제 때문에 바꾸기도 그렇고... 그렇다고 지금처럼 놔두자니 UploadedFiles 페이지에서 찾는게 너무 힘들어지고... 묘안이 떠오르지 않는군요.
한가지 방법은, img 매크로를 쓸때 그림 경로 바로 뒤에 반드시 스페이스를 넣도록 하는 겁니다. 그럼 매크로를 쓰는 게 너무 불편해질까요? 불편은 둘째치고 다른 매크로와 비교해서 일관성이 없는게 좀 그렇군요.
- 변명을 하자면 그게 애당초 제가 만든게 아니기 때문에~~~
어쩌면 좋을까요?
위키위키분류