この機能は実現できたっぽいです。多分(ぉ。paginateプラグインのstart
を、
sub start {
$path_info = "$blosxom::datadir/$blosxom::path_info";
if (-d $path_info and $blosxom::path_info ne '') {
return 1;
}
if ($ENV{'PATH_INFO'} ne '') {
return 0;
}
return 1;
}
として、普通に閲覧またはカテゴリ単位での閲覧の場合のみpaginateプラグインをロードするっぽいように(ちと、怪しげ)して、filter
の中で、
foreach (keys %$files_ref) {
if ($blosxom::path_info ne '' and $_ !~ m!/$blosxom::path_info!) {
delete $files_ref->{$_};
}
}
とすることによって、当該カテゴリ以外のエントリを出力対象ファイルから外してやってます。
paginateプラグインで、月単位とかで辿るのが非常におかしいのはfilter
で適切に出力対象ファイルを取捨選択してないからということみたいですね。
でも、blosxomはいろいろな閲覧パスの指定方法があるので、思ってもみないところで不具合があるかもしれません。何か見つけたら教えてください。