move recentchanges link enabling into a pagetemplate hook
authorJoey Hess <joey@kodama.kitenet.net>
Wed, 30 Jan 2008 07:29:12 +0000 (02:29 -0500)
committerJoey Hess <joey@kodama.kitenet.net>
Wed, 30 Jan 2008 07:29:12 +0000 (02:29 -0500)
IkiWiki/Plugin/recentchanges.pm
IkiWiki/Render.pm

index 5ac0a30ef87ea9848e8fa1dba043984000ec817b..8ceb2dfbf9da8036ed08bc56efafda4c284199ae 100644 (file)
@@ -9,6 +9,7 @@ sub import { #{{{
        hook(type => "checkconfig", id => "recentchanges", call => \&checkconfig);
        hook(type => "refresh", id => "recentchanges", call => \&refresh);
        hook(type => "htmlize", id => "_change", call => \&htmlize);
        hook(type => "checkconfig", id => "recentchanges", call => \&checkconfig);
        hook(type => "refresh", id => "recentchanges", call => \&refresh);
        hook(type => "htmlize", id => "_change", call => \&htmlize);
+       hook(type => "pagetemplate", id => "recentchanges", call => \&pagetemplate);
 } #}}}
 
 sub checkconfig () { #{{{
 } #}}}
 
 sub checkconfig () { #{{{
@@ -32,6 +33,18 @@ sub refresh ($) { #{{{
        }
 } #}}}
 
        }
 } #}}}
 
+# Enable the recentchanges link on wiki pages.
+sub pagetemplate (@) { #{{{
+       my %params=@_;
+       my $template=$params{template};
+       my $page=$params{page};
+       if ($config{rcs} && $page ne $config{recentchangespage} &&
+           $template->query(name => "recentchangesurl")) {
+               $template->param(recentchangesurl => urlto($config{recentchangespage}, $page));
+               $template->param(have_actions => 1);
+       }
+} #}}}
+
 # Pages with extension _change have plain html markup, pass through.
 sub htmlize (@) { #{{{
        my %params=@_;
 # Pages with extension _change have plain html markup, pass through.
 sub htmlize (@) { #{{{
        my %params=@_;
index be5af84ba5a51d65ef9f98a3d64cd7439f5dc006..6dc70beb5bfd2f81de8a4241946280c20daf56d6 100644 (file)
@@ -85,12 +85,6 @@ sub genpage ($$) { #{{{
                $actions++;
        }
                
                $actions++;
        }
                
-       if ($config{rcs} && exists $config{recentchangespage} &&
-           $page ne $config{recentchangespage}) {
-               $template->param(recentchangesurl => urlto($config{recentchangespage}, $page));
-               $actions++;
-       }
-
        if (length $config{historyurl}) {
                my $u=$config{historyurl};
                $u=~s/\[\[file\]\]/$pagesources{$page}/g;
        if (length $config{historyurl}) {
                my $u=$config{historyurl};
                $u=~s/\[\[file\]\]/$pagesources{$page}/g;