X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/3bdc366e73c06d7d859facd460bcff660a6df4b3..5e94e973eeb4ba75d9c37bd801278f686f0977c3:/IkiWiki/Render.pm diff --git a/IkiWiki/Render.pm b/IkiWiki/Render.pm index bed9cb777..74033fa97 100644 --- a/IkiWiki/Render.pm +++ b/IkiWiki/Render.pm @@ -24,13 +24,19 @@ sub calculate_backlinks () { $backlinks_calculated=1; } -sub backlinks ($) { +sub backlink_pages ($) { my $page=shift; calculate_backlinks(); + return keys %{$backlinks{$page}}; +} + +sub backlinks ($) { + my $page=shift; + my @links; - foreach my $p (keys %{$backlinks{$page}}) { + foreach my $p (backlink_pages($page)) { my $href=urlto($p, $page); # Trim common dir prefixes from both pages. @@ -373,12 +379,13 @@ sub refresh () { $links{$page}=[]; $renderedfiles{$page}=[]; $pagemtime{$page}=0; - prune($config{destdir}."/".$_) - foreach @{$oldrenderedfiles{$page}}; + foreach my $old (@{$oldrenderedfiles{$page}}) { + prune($config{destdir}."/".$old); + } delete $pagesources{$page}; - foreach (keys %destsources) { - if ($destsources{$_} eq $page) { - delete $destsources{$_}; + foreach my $source (keys %destsources) { + if ($destsources{$source} eq $page) { + delete $destsources{$source}; } } } @@ -517,6 +524,7 @@ sub refresh () { if (%rendered) { run_hooks(change => sub { shift->(keys %rendered) }); } + run_hooks(postrefresh => sub { shift->() }); } sub commandline_render () {