[첫화면으로]UseModWiki소스수정/Img매크로

마지막으로 [b]

img 매크로

Jof:UseModWiki소스수정/이미지매크로 를 그대로 적용

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/&amp;/&/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 매크로를 쓸때 그림 경로 바로 뒤에 반드시 스페이스를 넣도록 하는 겁니다. 그럼 매크로를 쓰는 게 너무 불편해질까요? 불편은 둘째치고 다른 매크로와 비교해서 일관성이 없는게 좀 그렇군요.
-- Raymundo 2004-3-13 1:16 am

변명을 하자면 그게 애당초 제가 만든게 아니기 때문에~~~
어쩌면 좋을까요?
-- 조프 2004-3-13 2:09 am

^^; 아니 뭐... 남 탓하자는 것은 아니니까요... ^^;;;;

지금까지 생각한 안들을 정리하면,
1. 그냥 이대로 산다 -> 뭐 못 살 것도 없지만...
2. 돋보기를 reverse 가 아닌 search 로 -> 사실 조프님 홈이나 제 홈에서는 별 속도 차이 안 날 겁니다. 어제 제 홈에서 잠깐 해 봤는데 영 점 몇 초 차이? 하지만 고려바위 같이 3000여 페이지가 있는 곳에 가면... -.-;;
3. 인자를 넣을 때, 그림 경로명 직후에 인터링크패턴에 포함되지 않는 뭔가를 넣도록 강제 -> 뭘 사용해야지 일관성이나 직관성을 떨어뜨리지 않을지 고민 중
-- Raymundo 2004-3-13 7:59 am
이름:  
Homepage:
내용:
 

위키위키분류

마지막 편집일: 2007-1-8 12:19 pm (변경사항 [d])
923 hits | Permalink | 변경내역 보기 [h] | 페이지 소스 보기