差分表示
- 最後の更新で追加された行はこのように表示します。
- 最後の更新で削除された行はこのように表示します。
ページ名でフィルタリングした更新履歴を表示します。
*[import filtered recent]
[[''''''#recent:WalWiki/カスタマイズ/]] このような記述で、ページ名に WalWiki/カスタマイズ/ が含まれているもののみの更新履歴を挿入することが出来ます。
[[''''''#recent:WalWiki/カスタマイズ/]] このような記述で、ページ名が WalWiki/カスタマイズ/ で始まるもののみの更新履歴を挿入することが出来ます。
**グローバル変数定義
#my $embed_recent = '\[\[#recent(\((\d+)\))?\]\]$'; # Walrus add [import recent changes] # yakty del [import filtered recent]
my $embed_recent = '\[\[#recent(\((\d+)\))?(:(\S+))?\]\]$'; # Walrus add [import recent changes] # yakty add [import filtered recent]
**embedded_to_html() 内の変更
# Walrus add [import recent changes] start
} elsif ($embedded =~ /$embed_recent/) {
#$_ = &make_recent_changes($2); # yakty del [import filtered recent]
$_ = &make_recent_changes($2, $4); # yakty add [import filtered recent]
return ($_) ? $_ : &escape($embedded);
# Walrus add [import recent changes] end
**make_recent_changes() 内の変更
sub make_recent_changes {
# yakty del [import filtered recent] start
#my ($count) = @_;
#my @lines = grep { /^-/ } split(/\n/, $database{$RecentChanges});
# yakty del [import filtered recent] end
# yakty add [import filtered recent] start
my ($count, $pattern) = @_;
my @lines;
foreach (split(/\n/, $database{$RecentChanges})){
if(/^\- \d\d\d\d\-\d\d\-\d\d \(...\) \d\d:\d\d:\d\d (\S+)/){
my $name = &unarmor_name($1);
next if($pattern and $name !~ /^\Q$pattern\E/);
push(@lines, $_);
}
}
# yakty add [import filtered recent] end
@lines = splice(@lines, 0, $count) if ($count);
my $html = &text_to_html(join("\n", @lines));
return $html;
}
02579