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

마지막으로 [b]

변경사항 (가장 최근의 "소소한 수정"부터) (다른 변경사항 없음)

-3,7 +3,7
* name 과 time 자리에 들어갈 수 있는 값에 대해 조건이 복잡하다. 잘못된 값을 넣어 예상하지 못한 출력이 나오는 것을 막아보고자 함이니, 이 매크로를 직접 사용하지 말고 <mysign> 를 사용하는 것을 권장한다.
* 이런, mysign(name,time) 을 임의로 작성하는 것을 최대한 막으려고 엄격하게 검사를 시켰더니만, $UseAmPm 변수가 0일 경우 (am, pm 을 쓰지 않고 24시간제로 표시) 제대로 치환이 되지 않는 문제가 있었다. 정규표현식을 수정하여 해결.
:
{{{perl
{{{#!vim perl
sub MacroSubst {
    ...
    # 원래 소스 코드에는 < 와 > 로 적혀 있는 것을, {{{ }}} 태그 사용을 위하여 

-17,7 +17,7
}
}}}
: 적당한 위치에 MacroMySign 함수 전체를 삽입한다
{{{perl
{{{#!vim perl
sub MacroMySign {
    my ($author, $timestamp) = @_;
    return "\n<div align=\"right\">-- $author <small>$timestamp</small></div>\n";


<mysign(name,time)> 매크로 도입

sub MacroSubst {
    ...
    # 원래 소스 코드에는 &lt; 와 &gt; 로 적혀 있는 것을, {{{ }}} 태그 사용을 위하여 
    # &__LT__; 와 &__GT__; 로 수정했다. 자세한 내용은 {{{ }}} 태그 도입 항목을 참조
    $txt =~ s/\&__LT__;goto\((.*)\)\&__GT__;/&MacroGoto($1)/gei;
    $txt =~ s/\&__LT__;history\((.*)\)\&__GT__;/&MacroHistory($1)/gei;
### 다음 라인을 추가
    $txt =~ s/\&__LT__;mysign\(([^,]+),(\d+-\d+-\d+ \d+:\d+.*)\)\&__GT__;/&MacroMySign($1, $2)/gei;
###
    return $txt;
}
적당한 위치에 MacroMySign 함수 전체를 삽입한다
sub MacroMySign {
    my ($author, $timestamp) = @_;
    return "\n<div align=\"right\">-- $author <small>$timestamp</small></div>\n";
}


위키위키분류

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