]> sipb.mit.edu Git - ikiwiki.git/blobdiff - IkiWiki/Render.pm
remove unused indexlink function and template variable
[ikiwiki.git] / IkiWiki / Render.pm
index 8ae0cbd4f64fe4f8b450114dc1cdb1ba0caad400..7d66bf5ec79eb84ed1698433588149a7cf8b94d7 100644 (file)
@@ -112,7 +112,14 @@ sub genpage ($$) {
                }
        }
 
-       if ($actions) {
+       my @actions;
+       run_hooks(pageactions => sub {
+               push @actions, map { { action => $_ } } 
+                       grep { defined } shift->(page => $page);
+       });
+       $template->param(actions => \@actions);
+
+       if ($actions || @actions) {
                $template->param(have_actions => 1);
        }
 
@@ -131,13 +138,15 @@ sub genpage ($$) {
                title => $page eq 'index' 
                        ? $config{wikiname} 
                        : pagetitle(basename($page)),
+               ispage => 1,
                wikiname => $config{wikiname},
                content => $content,
                backlinks => $backlinks,
                more_backlinks => $more_backlinks,
                mtime => displaytime($pagemtime{$page}),
-               ctime => displaytime($pagectime{$page}),
+               ctime => displaytime($pagectime{$page}, undef, 1),
                baseurl => baseurl($page),
+               html5 => $config{html5},
        );
 
        run_hooks(pagetemplate => sub {
@@ -313,6 +322,7 @@ sub find_src_files () {
                my ($f) = $file =~ /$config{wiki_file_regexp}/; # untaint
                if (! defined $f) {
                        warn(sprintf(gettext("skipping bad filename %s"), $file)."\n");
+                       return;
                }
        
                if ($underlay) {
@@ -409,7 +419,7 @@ sub find_del_files ($) {
        my @del;
        my @internal_del;
 
-       foreach my $page (keys %pagemtime) {
+       foreach my $page (keys %pagesources) {
                if (! $pages->{$page}) {
                        if (isinternal($page)) {
                                push @internal_del, $pagesources{$page};
@@ -591,13 +601,23 @@ sub render_dependent ($$$$$$$) {
        
        my %lc_changed = map { lc(pagename($_)) => 1 } @changed;
        my %lc_exists_changed = map { lc(pagename($_)) => 1 } @exists_changed;
+
+       foreach my $p ("templates/page.tmpl", keys %{$depends_simple{""}}) {
+               if ($rendered{$p} || grep { $_ eq $p } @$del) {
+                       foreach my $f (@$files) {
+                               next if $rendered{$f};
+                               render($f, sprintf(gettext("building %s, which depends on %s"), $f, $p));
+                       }
+                       return 0;
+               }
+       }
         
        foreach my $f (@$files) {
                next if $rendered{$f};
                my $p=pagename($f);
                my $reason = undef;
-       
-               if (exists $depends_simple{$p}) {
+
+               if (exists $depends_simple{$p} && ! defined $reason) {
                        foreach my $d (keys %{$depends_simple{$p}}) {
                                if (($depends_simple{$p}{$d} & $IkiWiki::DEPEND_CONTENT &&
                                     $lc_changed{$d})
@@ -771,13 +791,7 @@ sub refresh () {
                render_linkers($file);
        }
 
-       if ($rendered{"templates/page.tmpl"}) {
-               foreach my $f (@$files) {
-                       next if $f eq "templates/page.tmpl";
-                       render($f, sprintf(gettext("building %s, which depends on %s"), $f, "templates/page.tmpl"));
-               }
-       }
-       elsif (@$changed || @$internal_changed ||
+       if (@$changed || @$internal_changed ||
            @$del || @$internal_del || @$internal_new) {
                1 while render_dependent($files, $new, $internal_new,
                        $del, $internal_del, $internal_changed,