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; # Quotes can adjacent to inter-site links ... }- 2003.2.7.
source-highlight 유틸리티가 지원하는 언어 목록을 해쉬변수에 담아서 사용했었는데, 너무도 직관적이지 않은 형태가 되어서... SRCHIGHLANG 환경변수를 배열로 지정하고 실제로 호출될 때 루프를 돌면서 지원 언어 목록을 검색하도록 수정하였다. 다음과 같이 수정한다.
### source-highlight 의 경로명 $SOURCEHIGHLIGHT = "/usr/local/bin/source-highlight"; # path of source-highlight ### source-highlight 에서 옵션으로 줄 수 있는 언어 목록을 아래와 같이 배열로 지정한다. @SRCHIGHLANG = qw(cpp java prolog perl php3 python flex changeelog);
############### ### added by gypark ### 패치를 위해 추가된 환경설정 변수 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); } ... 이하 이전과 동일 ... }
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);