X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/f2529edcab749d9007c6e5d28734554aa8a28d1b..4e860b8717d18bf56a4a61c9a2214f485c20dd90:/IkiWiki/Render.pm diff --git a/IkiWiki/Render.pm b/IkiWiki/Render.pm index 235efd299..d6c1f4f4c 100644 --- a/IkiWiki/Render.pm +++ b/IkiWiki/Render.pm @@ -776,7 +776,6 @@ sub refresh () { my $oldlink_targets=calculate_old_links($changed, $del); foreach my $file (@$changed) { - print ">>render $file\n"; scan($file); } @@ -801,6 +800,14 @@ sub refresh () { derender_internal($file); } + run_hooks(build_affected => sub { + my %affected = shift->(); + while (my ($page, $message) = each %affected) { + next unless exists $pagesources{$page}; + render($pagesources{$page}, $message); + } + }); + my ($backlinkchanged, $linkchangers)=calculate_changed_links($changed, $del, $oldlink_targets); @@ -822,8 +829,13 @@ sub refresh () { run_hooks(delete => sub { shift->(@$del, @$internal_del) }); } if (%rendered) { - run_hooks(change => sub { shift->(keys %rendered) }); + run_hooks(rendered => sub { shift->(keys %rendered) }); + run_hooks(change => sub { shift->(keys %rendered) }); # back-compat } + my %all_changed = map { $_ => 1 } + @$new, @$changed, @$del, + @$internal_new, @$internal_changed, @$internal_del; + run_hooks(changes => sub { shift->(keys %all_changed) }); } sub clean_rendered {