]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blobdiff - ikiwiki
template for recentchanges
[git.ikiwiki.info.git] / ikiwiki
diff --git a/ikiwiki b/ikiwiki
index 2815a8e1dd666cb7685c6b7da8382464c3f41aac..5228c45d68a97e4d07d3a3d1b5bfef31268f442e 100755 (executable)
--- a/ikiwiki
+++ b/ikiwiki
@@ -242,7 +242,7 @@ sub backlinks ($) { #{{{
        return @links;
 } #}}}
        
-sub parentlinks ($) {
+sub parentlinks ($) { #{{{
        my $page=shift;
        
        my @ret;
@@ -259,7 +259,7 @@ sub parentlinks ($) {
                $path.="../";
        }
        return @ret;
-}
+} #}}}
 
 sub indexlink () { #{{{
        return "<a href=\"$url\">$wikiname</a>/ ";
@@ -418,7 +418,8 @@ sub rcs_recentchanges ($) { #{{{
                                $when=concise(ago(time - str2time($3)));
                        }
                        elsif ($state eq 'header' && /^\s+[A-Z]\s+\Q$svn_base\E\/(.+)$/) {
-                               push @pages, pagename($1) if length $1;
+                               push @pages, htmllink("", pagename($1), 1)
+                                       if length $1;
                        }
                        elsif ($state eq 'header' && /^$/) {
                                $state='body';
@@ -588,7 +589,7 @@ sub gen_wrapper ($$) { #{{{
                error("$this doesn't seem to be executable");
        }
 
-       my @params=($srcdir, $destdir, "--wikiname=$wikiname");
+       my @params=($srcdir, $templatedir, $destdir, "--wikiname=$wikiname");
        push @params, "--verbose" if $verbose;
        push @params, "--rebuild" if $rebuild;
        push @params, "--nosvn" if !$svn;
@@ -655,29 +656,18 @@ EOF
        exit 0;
 } #}}}
 
-sub cgi_recentchanges ($) { #{{{
+sub cgi_recentchanges () { #{{{
        my $q=shift;
        
-       
-       
-       my $list="<ul>\n";
-       foreach my $change (rcs_recentchanges(100)) {
-               $list.="<li>";
-               $list.=join(", ", map { htmllink("", $_, 1) } @{$change->{pages}});
-               $list.="<br>\n";
-               $list.="changed ".$change->{when}." by ".
-                      htmllink("", $change->{user}, 1).
-                      ": <i>".$change->{message}."</i>\n";
-               $list.="</li>\n";
-       }
-       $list.="</ul>\n";
-               
-       print $q->header,
-             $q->start_html("RecentChanges"),
-             $q->h1(indexlink()." RecentChanges"),
-             $list,
-             $q->end_form,
-             $q->end_html;
+       my $template=HTML::Template->new(
+               filename => "$templatedir/recentchanges.tmpl");
+       $template->param(
+               title => "RecentChanges",
+               indexlink => $url,
+               wikiname => $wikiname,
+               changelog => [rcs_recentchanges(100)],
+       );
+       return $template->output;
 } #}}}
 
 sub cgi_signin ($$) { #{{{
@@ -798,7 +788,7 @@ sub cgi () { #{{{
        }
        
        if ($do eq 'recentchanges') {
-               cgi_recentchanges($q);
+               cgi_recentchanges();
                return;
        }