差分表示
- 最後の更新で追加された行はこのように表示します。
- 最後の更新で削除された行はこのように表示します。
カテゴリ名を省略します。
リンク名を短縮します。
*グローバル変数定義
* [shrink linkname]
my $category_name; # yakty add [category auto link] [shrink linkname]
**make_link()内の変更
*init_form()内の変更
# yakty add [category auto link] [shrink linkname] start
if($form{mypage} =~ /^(.+?)\//){
$category_name = $1;
} else {
$category_name = $form{mypage};
}
# yakty add [category auto link] [shrink linkname] end
}
*toc_escape()内の変更
sub toc_escape {
my ($toc_text) = @_;
#$toc_text =~ s/\[\[(\S+)( \S+)?\]\]/$1/g; # yakty del [shrink linkname]
$toc_text =~ s/\[\[($category_name\/)?(\S+)( \S+)?\]\]/$2/g; # yakty add [shrink linkname]
$toc_text =~ s/''+//g;
$toc_text = &escape($toc_text);
return $toc_text;
}
*make_link()内の変更
if ($database{$chunk}) {
# Walrus add [alias link] start
my $subject = &escape(&get_subjectline($chunk, delimiter => ''));
# yakty add [shrink linkname] start
if(not $fixedpage{$form{mypage}}){
$escapedchunk = ($escapedchunk =~ /^$category_name\/(.+)/) ? $1 : $escapedchunk;
}
# yakty add [shrink linkname] end
return qq(<a title="$subject" href="$url_cgi?$cookedchunk">$escapedchunk</a>);
} elsif ($page_command{$chunk}) {
if ($database{$chunk}) {
# Walrus add [alias link] start
my $subject = &escape(&get_subjectline($chunk, delimiter => ''));
# yakty add [shrink linkname] start
if(not $fixedpage{$form{mypage}}){
my @linkchunk = split(/\//, $escapedchunk);
foreach (split(/\//, $form{mypage})){
last if(@linkchunk == 1);
last if($_ ne $linkchunk[0]);
shift(@linkchunk);
}
$escapedchunk = join("/", @linkchunk);
}
# yakdy add [shrink linkname] end
return qq(<a title="$subject" href="$url_cgi?$cookedchunk">$escapedchunk</a>);
} elsif ($page_command{$chunk}) {
02536