summaryrefslogtreecommitdiff
path: root/IkiWiki/Plugin/aggregate.pm
diff options
context:
space:
mode:
Diffstat (limited to 'IkiWiki/Plugin/aggregate.pm')
-rw-r--r--IkiWiki/Plugin/aggregate.pm21
1 files changed, 11 insertions, 10 deletions
diff --git a/IkiWiki/Plugin/aggregate.pm b/IkiWiki/Plugin/aggregate.pm
index ea27fc199..0869d6d8f 100644
--- a/IkiWiki/Plugin/aggregate.pm
+++ b/IkiWiki/Plugin/aggregate.pm
@@ -17,7 +17,7 @@ my %guids;
sub import { #{{{
hook(type => "getopt", id => "aggregate", call => \&getopt);
hook(type => "checkconfig", id => "aggregate", call => \&checkconfig);
- hook(type => "filter", id => "aggregate", call => \&filter);
+ hook(type => "needsbuild", id => "aggregate", call => \&needsbuild);
hook(type => "preprocess", id => "aggregate", call => \&preprocess);
hook(type => "delete", id => "aggregate", call => \&delete);
hook(type => "savestate", id => "aggregate", call => \&savestate);
@@ -49,16 +49,17 @@ sub checkconfig () { #{{{
}
} #}}}
-sub filter (@) { #{{{
- my %params=@_;
- my $page=$params{page};
-
- loadstate(); # if not already loaded
- # Mark all feeds originating on this page as removable;
- # preprocess will unmark those that still exist.
- remove_feeds($page);
+sub needsbuild (@) { #{{{
+ my $needsbuild=shift;
- return $params{content};
+ foreach my $page (keys %pagestate) {
+ if (grep { $_ eq $pagesources{$page} } @$needsbuild) {
+ loadstate(); # if not already loaded
+ # Mark all feeds originating on this page as removable;
+ # preprocess will unmark those that still exist.
+ remove_feeds($page);
+ }
+ }
} # }}}
sub preprocess (@) { #{{{