X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/2a6e353c205a6c2c8b8e2eaf85fe9c585c1af0cd..852999c5e1d62ce9302e6e7c8a14b8ac4741d802:/IkiWiki/Plugin/aggregate.pm diff --git a/IkiWiki/Plugin/aggregate.pm b/IkiWiki/Plugin/aggregate.pm index ea27fc199..68ff6a616 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,18 @@ sub checkconfig () { #{{{ } } #}}} -sub filter (@) { #{{{ - my %params=@_; - my $page=$params{page}; - +sub needsbuild (@) { #{{{ + my $needsbuild=shift; + loadstate(); # if not already loaded - # Mark all feeds originating on this page as removable; - # preprocess will unmark those that still exist. - remove_feeds($page); - return $params{content}; + foreach my $page (keys %pagestate) { + if (grep { $_ eq $pagesources{$page} } @$needsbuild) { + # Mark all feeds originating on this page as removable; + # preprocess will unmark those that still exist. + remove_feeds($page); + } + } } # }}} sub preprocess (@) { #{{{