]> sipb.mit.edu Git - ikiwiki.git/blobdiff - IkiWiki.pm
web commit by VictorMoral: Added information about style sheet and samples page
[ikiwiki.git] / IkiWiki.pm
index 168d800ba596523c9e9a598a0df3e09d69a1e205..80208ef2b51878bb20e9321b36a9094c8ee8b17d 100644 (file)
@@ -14,7 +14,7 @@ use vars qw{%config %links %oldlinks %oldpagemtime %pagectime %pagecase
 use Exporter q{import};
 our @EXPORT = qw(hook debug error template htmlpage add_depends pagespec_match
                  bestlink htmllink readfile writefile pagetype srcfile pagename
-                 displaytime
+                 displaytime will_render
                  %config %links %renderedfiles %pagesources);
 our $VERSION = 1.01; # plugin interface version
 
@@ -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;
        }
 } #}}}
 
@@ -641,6 +643,8 @@ sub hook (@) { # {{{
        if (! exists $param{type} || ! ref $param{call} || ! exists $param{id}) {
                error "hook requires type, call, and id parameters";
        }
+
+       return if $param{no_override} && exists $hooks{$param{type}}{$param{id}};
        
        $hooks{$param{type}}{$param{id}}=\%param;
 } # }}}