[첫화면으로]UseModWiki소스수정/Anchor링크

마지막으로 [b]

7 번째 수정본

Anchor 링크 개선

wiki.pl 에서
###############
### added by gypark
### 패치를 위해 추가된 내부 전역 변수   
use vars qw(%RevisionTs $FS_lt $FS_gt $StartTime $Sec_Revision $Sec_Ts
    $ViewCount $AnchoredFreeLinkPattern);   # AnchoredFreeLinkPattern 추가
###
###############

sub InitLinkPatterns {
    ...
    $QDelim = '(?:"")?';     # Optional quote delimiter (not in output)
###############
### replaced by gypark
### anchor 에 한글 사용
#   $AnchoredLinkPattern = $LinkPattern . '#(\\w+)' . $QDelim if $NamedAnchors;
    $AnchoredLinkPattern = $LinkPattern . '#([0-9A-Za-z\xa0-\xff]+)' . $QDelim if $NamedAnchors;
###
###############
    $LinkPattern .= $QDelim;
    ...
    $FreeLinkPattern .= $QDelim;

###############
### added by gypark
### 한글패이지에 anchor 사용
### from Bab2's patch
    $AnchoredFreeLinkPattern = $FreeLinkPattern . '#([0-9A-Za-z\xa0-\xff]+)' . $QDelim if $NamedAnchors;
###
###############

    # Url-style links are delimited by one of:
   ...
}

sub CommonMarkup {
    ...
        if ($FreeLinks) {
            # Consider: should local free-link descriptions be conditional?
            # Also, consider that one could write [[Bad Page|Good Page]]?
            s/\[\[$FreeLinkPattern\|([^\]]+)\]\]/&StorePageOrEditLink($1, $2)/geo;
            s/\[\[$FreeLinkPattern\]\]/&StorePageOrEditLink($1, "")/geo;
###############
### added by gypark
### 한글패이지에 anchor 사용
### from Bab2's patch
            s/\[\[$AnchoredFreeLinkPattern\|([^\]]+)\]\]/&StoreBracketAnchoredLink($1, $2, $3)/geos if $NamedAnchors;
            s/\[\[$AnchoredFreeLinkPattern\]\]/&StoreRaw(&GetPageOrEditAnchoredLink($1, $2, ""))/geos if $NamedAnchors;
###
###############
        }
    ...
}

그리고 이거는 별개로... <anchor(앵커이름)> 했을때 <a name="#앵커이름"> 로 치환되는데 끝에 </a> 가 더 있어야 되지 않나 싶어서...

sub MacroAnchor() { return "<a name=\"\#@_\"></a>"; }    # 뒤에 </a> 를 붙여줌

사용자 의견

이건 개선인지 개악인지 조금 모호한 것이...원래 앵커가 절대좌표(?)로 인식되었었는데 이제 상대좌표로 걸리게 됩니다. 누군가가 중간에 앵커를 삽입하거나 삭제하면 그 뒤의 놈들은 모두 영향을 받게 되지요. :)
오래간만에 글을 남기긴 했지만 종종 들어와서 횡설수설을 읽고 간답니다. 요즘 십자군이야기를 재미있게 읽고있네요.
-- 거북이 2003-6-6 3:01 pm

안녕하세요~ 무슨 말씀인지 전혀 이해가 되지 않습니다. :-O 앵커의 상대좌표란게 뭔가요?
-- Raymundo 2003-6-6 3:31 pm
예전에는 toc에서 영어로 된 놈이 타이틀로 있다면 [[PinkFloyd#Wish_You_Were_Here]]이런 식으로 절대값을 써서 앵커를 정의할 수 있었지요. 그런데 지금은 [[PinkFloyd#H_4]]이런 식으로만 가능하다는 거지요. 이러면 중간에 타이틀이 삽입될 경우 다른 경로를 가리키게 되니까요 :)
-- 거북이 2003-6-9 1:21 pm

위키위키분류

이 수정본 편집일: 2003-6-9 1:23 pm (변경사항 [d])
1246 hits | Permalink | 변경내역 보기 [h] | 현재 수정본 보기 | 7 번째 수정본 소스 보기