변경사항 (가장 최근의 "일반적인 수정"부터)
(소소한 수정)
| -10,7 +10,7 |
| == Notes == |
| {{{ }}} 내부에 있는 [[위키네임]]이나 이중 대괄호쌍이 있을 경우, 본문 출력시에는 이들을 링크로 간주하지 않으나 역링크 검색이나 전체 링크 목록 출력 화면에서는 링크로 간주한다. 이것을 막으려면 다음을 수정한다. |
|
| {{{perl |
| {{{#!vim perl |
| sub GetPageLinks { |
| ... |
| $text =~ s/<code>(.|\n)*?\<\/code>/ /ig; |
| -28,7 +28,7 |
| source-highlight 유틸리티가 지원하는 언어 목록을 해쉬변수에 담아서 사용했었는데, 너무도 직관적이지 않은 형태가 되어서... SRCHIGHLANG 환경변수를 배열로 지정하고 실제로 호출될 때 루프를 돌면서 지원 언어 목록을 검색하도록 수정하였다. 다음과 같이 수정한다. |
| : config.pl 에서는 |
| : |
| {{{perl |
| {{{#!vim perl |
| ### source-highlight 의 경로명 |
| $SOURCEHIGHLIGHT = "/usr/local/bin/source-highlight"; # path of source-highlight |
| ### source-highlight 에서 옵션으로 줄 수 있는 언어 목록을 아래와 같이 배열로 지정한다. |
| -36,7 +36,7 |
| }}} |
| : wiki.pl 에서는 |
| : |
| {{{perl |
| {{{#!vim perl |
| ############### |
| ### added by gypark |
| ### 패치를 위해 추가된 환경설정 변수 |
| -50,7 +50,7 |
| ############### |
| }}} |
| : |
| {{{perl |
| {{{#!vim perl |
| sub StoreSyntaxHighlight { |
| my ($lang, $opt , @code) = @_; |
|
| -67,5 +67,28 |
| }}} |
| <mysign([[Raymundo]],2003-3-5 1:27 am)> |
|
| == 추가 업데이트 내역 == |
| ext1.95 - source-highlight 2.* 버전의 출력을 지원. 1.8과 2.2에서 각각 테스트했음. |
| {{{#!vim diff |
| 3524,3528c3524,3530 |
| < # source-highlight 출력물 앞뒤의 pre 태그와 tt 태그를 뺀다 |
| < shift @html; |
| < shift @html; |
| < pop @html; |
| < pop @html; |
| --- |
| > # source-highlight 출력물 앞뒤의 버전정보, pre 태그, tt 태그를 뺀다 |
| > my $html = join($FS1, @html); |
| > $html =~ s/^<!-- Generator: GNU source-highlight.*?-->//s; |
| > $html =~ s/^.*?<pre>.*?<tt>//s; |
| > $html =~ s/<\/tt>.*?<\/pre>(\r?\n)*$//s; |
| > $html =~ s/(\r?\n)*?$//s; |
| > @html = split(/$FS1/, $html); |
| }}} |
| <mysign([[Raymundo]],2006-3-26 4:37 pm)> |
|
| == 사용자 의견 == |
|
| <longcomments(100)> |
| ---- |
| [[위키위키분류]] |
{{{ }}} 태그 개선 및 SyntaxHighlighting 지원
- 부작용: 몇 달 동안 사용하는 도중에 문제가 된 적은 없었다.
- 기존에 {{{ }}} 태그를 사용했던 페이지들이 제대로 출력되지 않을 수 있으니 점검할 것
- SyntaxHighlighting 을 많이 사용한 페이지는 경우 로딩 속도가 느려지니 주의
- wiki.pl 수정: 워낙 오래 전에 수정한 데다가 이곳 저곳 두서없이 뜯어고치는 바람에.. 이제 와서 정리하려 해도 엄두가 나지 않는다.. 생략함. :-)
Notes
{{{ }}} 내부에 있는 위키네임이나 이중 대괄호쌍이 있을 경우, 본문 출력시에는 이들을 링크로 간주하지 않으나 역링크 검색이나 전체 링크 목록 출력 화면에서는 링크로 간주한다. 이것을 막으려면 다음을 수정한다.
sub GetPageLinks {
...
$text =~ s/<code>(.|\n)*?\<\/code>/ /ig;
$text =~ s/(^|\n)\{\{\{[ \t\r\f]*\n((.|\n)*?)\n\}\}\}[ \t\r\f]*\n/ \n/igm;
$text =~ s/(^|\n)\{\{\{([a-zA-Z0-9+]+)(\|(n|\d*|n\d+|\d+n))?[ \t\r\f]*\n((.|\n)*?)\n\}\}\}[ \t\r\f]*\n/ \n/igm;
if ($interlink) {
$text =~ s/''+/ /g;
...
}
- 2003.2.7.
source-highlight 유틸리티가 지원하는 언어 목록을 해쉬변수에 담아서 사용했었는데, 너무도 직관적이지 않은 형태가 되어서... SRCHIGHLANG 환경변수를 배열로 지정하고 실제로 호출될 때 루프를 돌면서 지원 언어 목록을 검색하도록 수정하였다. 다음과 같이 수정한다.
- config.pl 에서는
-
$SOURCEHIGHLIGHT = "/usr/local/bin/source-highlight";
@SRCHIGHLANG = qw(cpp java prolog perl php3 python flex changeelog);
- wiki.pl 에서는
-
use vars qw(
$UserGotoBar $UserGotoBar2 $UserGotoBar3 $UserGotoBar4
$ConfigFile $SOURCEHIGHLIGHT @SRCHIGHLANG $LinkFirstChar # %SRCHIGHLANG 을 @SRCHIGHLANG 으로 바꾼다.
$EditGuideInExtern $SizeTopFrame $SizeBottomFrame
$LogoPage $CheckTime $LinkDir $IconDir
);
-
sub StoreSyntaxHighlight {
my ($lang, $opt , @code) = @_;
my %LANG;
foreach (@SRCHIGHLANG) {
$LANG{$_} = "1";
}
if (!((-x "$SOURCEHIGHLIGHT") && defined($LANG{$lang}))) {
return &StoreCodeRaw(@code);
}
... 이하 이전과 동일 ...
}
추가 업데이트 내역
ext1.95 - source-highlight 2.* 버전의 출력을 지원. 1.8과 2.2에서 각각 테스트했음.
3524,3528c3524,3530
< # source-highlight 출력물 앞뒤의 pre 태그와 tt 태그를 뺀다
< shift @html;
< shift @html;
< pop @html;
< pop @html;
---
> # source-highlight 출력물 앞뒤의 버전정보, pre 태그, tt 태그를 뺀다
> my $html = join($FS1, @html);
> $html =~ s/^<!-- Generator: GNU source-highlight.*?-->//s;
> $html =~ s/^.*?<pre>.*?<tt>//s;
> $html =~ s/<\/tt>.*?<\/pre>(\r?\n)*$//s;
> $html =~ s/(\r?\n)*?$//s;
> @html = split(/$FS1/, $html);
사용자 의견
위키위키분류