존재하지 않는 페이지의 링크를 WikiX 스타일로 출력
- "페이지명?" 의 형태로 출력되는 기존의 방법이, 다른 곳으로 Copy & Paste 할 때 물음표가 붙어버리는 게 불편한 점을 해소
- WikiX 처럼 "페이지명"의 첫글자에 edit 할 수 있는 링크가 달리도록 수정
- $LinkFirstChar 라는 환경설정변수 도입. 값이 1이면 새로운 스타일, 0이면 기존의 물음표 스타일이다. config 화일 또는 wiki.pl 소스내에
$LinkFirstChar = 1;
등으로 정의해 준다.
-
use vars qw(@RcDays @HtmlPairs @HtmlSingle
...
$ConfigFile $SOURCEHIGHLIGHT %SRCHIGHLANG $LinkFirstChar);
-
sub GetPageOrEditAnchoredLink {
...
if (($LinkFirstChar) && ($name =~ /(\[)?([^\/]*\/)?([a-zA-Z0-9\/]|[\x80-\xff][\x80-\xff])([^\]]*)(\])?/)) {
return $2 . &GetEditLink($id,"<b>$3</b>") . $4;
} else {
return $name . &GetEditLink($id,"?");
}
}
존재하지 않는 페이지의 링크 스타일을 사용자가 결정할 수 있게 함
- 위의 "존재하지 않는 페이지의 링크를 WikiX 스타일로 출력" 항목을 참조할 것
- 각 사용자마다 "환경설정" 페이지에서 자신이 선호하는 스타일을 택할 수 있다.
- Bab2 님의 패치 적용
- "존재하지 않는 페이지의 링크를 WikiX 스타일로 출력" 패치를 적용한 상태여야 한다. 그렇지 않으면 LinkFirstChar 변수가 선언되어 있지 않다고 에러를 낼 것이다. 위 패치를 같이 적용하던가, 그게 귀찮으면 아래 코드에서 $LinkFirstChar 대신에 0 또는 1 중 맘에 드는 값을 넣어라.
-
sub GetPageOrEditAnchoredLink {
...
if ((&GetParam('linkstyle', $LinkFirstChar))
&& ($name =~ /(\[)?([^\/]*\/)?([a-zA-Z0-9\/]|[\x80-\xff][\x80-\xff])([^\]]*)(\])?/)) {
return $2 . &GetEditLink($id,"<b>$3</b>") . $4;
} else {
return $name . &GetEditLink($id,"?");
}
}
-
sub DoEditPrefs {
...
print '<br>', &GetFormCheck('toplinkbar', 1,
T('Show link bar on top'));
print '<br>', &GetFormCheck('linkstyle', $LinkFirstChar,
T('Use wikiX style for the links to empty pages'));
print '<br>', &GetFormCheck('linkrandom', 0,
T('Add "Random Page" link to link bar'));
...
}
-
sub DoUpdatePrefs {
...
&UpdatePrefCheckbox("toplinkbar");
&UpdatePrefCheckbox("linkstyle");
&UpdatePrefCheckbox("linkrandom");
...
}
위키위키분류