1. RemoveLink() 함수 추가
- <allpagesto> 매크로를 만드는 과정에서 생긴 부산물
- 페이지 이름을 인자로 받는 매크로의 경우, 페이지 이름이 위키네임일 경우 먼저 해당 페이지에 대한 링크로 변환된 후 매크로 치환이 일어나기 때문에 엉뚱한 인자가 넘어가게 된다.
- 이 함수가 하는 일은 문자열을 받아서 그 안에 있는 a href 태그 및 기타 페이지링크의 특성 (존재하지 않는 페이지의 경우 물음표가 붙거나 첫글자가 볼드체인 것 등) 을 제거하고 사용자가 입력한 그대로 넘기는 것이다. 다만 사용자가 [[ ]] 를 명시적으로 넣어버리는 경우는 처리해주지 못한다.
- 만약에 위키네임에 대한 처리를 다르게 하도록 고쳤다면, 여기서도 적절히 그 역변환 과정을 넣어주어야 한다.
1.1. wiki.pl 수정
sub RemoveLink {
my ($string) = @_;
$string = &RestoreSavedText($string);
$string =~ s/<a[^>]+?href[^>]+?>(\?<\/a>)?//ig;
$string =~ s/<\/a>//ig;
return $string;
}
1.2. 추가 업데이트 내역
ext1.90 - 소스 수정됨. /매크로파라메터에이중대괄호허용함.
ext2.1i - 치환 패턴 수정
- /RobotsMetaTag에서 rel속성을 취급하게 되면서, rel속성이 없는 경우 링크가 a와 href사이에 공백이 두개가 되는 바람에 제대로 링크를 제거하지 못한 문제를 수정
- 첫글자 링크를 굵은 글씨로 만드는 건 스타일쉬트 쪽에서 해주기 때문에, b태그를 제거하는 라인은 삭제
위키위키분류