X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/b973ed82699903c23b3feeb5e73e1ebd6f587f43..1a8beaf4c6f09ee693bdc9447f74b21512509190:/IkiWiki.pm diff --git a/IkiWiki.pm b/IkiWiki.pm index 7084e9627..a6869d454 100644 --- a/IkiWiki.pm +++ b/IkiWiki.pm @@ -264,6 +264,7 @@ sub writefile ($$$;$) { #{{{ close OUT; } #}}} +my %cleared; sub will_render ($$;$) { #{{{ my $page=shift; my $dest=shift; @@ -275,11 +276,12 @@ sub will_render ($$;$) { #{{{ error("$config{destdir}/$dest independently created, not overwriting with version from $page"); } - if (! $clear) { + if (! $clear || $cleared{$page}) { $renderedfiles{$page}=[$dest, grep { $_ ne $dest } @{$renderedfiles{$page}}]; } else { $renderedfiles{$page}=[$dest]; + $cleared{$page}=1; } } #}}} @@ -444,10 +446,11 @@ sub linkify ($$$) { #{{{ } #}}} my %preprocessing; -sub preprocess ($$$) { #{{{ +sub preprocess ($$$;$) { #{{{ my $page=shift; # the page the data comes from my $destpage=shift; # the page the data will appear in (different for inline) my $content=shift; + my $scan=shift; my $handle=sub { my $escape=shift; @@ -457,6 +460,7 @@ sub preprocess ($$$) { #{{{ return "[[$command $params]]"; } elsif (exists $hooks{preprocess}{$command}) { + return "" if $scan && ! $hooks{preprocess}{$command}{scan}; # Note: preserve order of params, some plugins may # consider it significant. my @params;