template for recentchanges
parent
94eab28a86
commit
bbabbca9d1
4
Makefile
4
Makefile
|
@ -1,6 +1,6 @@
|
|||
all:
|
||||
./ikiwiki doc html --wikiname="ikiwiki" --verbose --nosvn
|
||||
./ikiwiki doc templates html --wikiname="ikiwiki" --verbose --nosvn
|
||||
|
||||
clean:
|
||||
rm -rf html
|
||||
rm -f doc/.index
|
||||
rm -rf doc/.ikiwiki
|
||||
|
|
|
@ -31,6 +31,11 @@ Currently implemented:
|
|||
|
||||
ikiwiki is fast and smart about updating a wiki, it only builds pages that have changed (and tracks things like creation of new pages and links that can indirectly cause a page to need a rebuild)
|
||||
|
||||
* [[Templates]]
|
||||
|
||||
ikiwiki generates html using templates so you can change the look and
|
||||
layout of all pages in any way you would like.
|
||||
|
||||
* [[BackLinks]]
|
||||
|
||||
Automatically included on pages. Rather faster than eg [[MoinMoin]] and always there to help with navigation.
|
||||
|
@ -45,4 +50,4 @@ Currently implemented:
|
|||
|
||||
----
|
||||
|
||||
It also has lots of [[TODO]] items and [[Bugs]]. This wiki is not ready for production!
|
||||
It also has lots of [[TODO]] items and [[Bugs]]. This wiki is not ready for production!
|
||||
|
|
|
@ -6,7 +6,8 @@ optional support for commits from the web.
|
|||
|
||||
apt-get install ikiwiki # soon
|
||||
|
||||
Ikiwiki requires [[MarkDown]] be installed, and also uses the following perl modules: `CGI::Session` `CGI::FormBuilder`
|
||||
Ikiwiki requires [[MarkDown]] be installed, and also uses the following
|
||||
perl modules: `CGI::Session` `CGI::FormBuilder` `HTML::Template`
|
||||
|
||||
2. Create the subversion repository for your wiki.
|
||||
|
||||
|
@ -70,4 +71,4 @@ optional support for commits from the web.
|
|||
|
||||
--historyurl='http://svn.host/trunk/doc/[[]]?root=wiki'
|
||||
|
||||
11. Enjoy your new wiki!
|
||||
11. Enjoy your new wiki!
|
||||
|
|
42
ikiwiki
42
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;
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,25 @@
|
|||
<html>
|
||||
<head><title><TMPL_VAR TITLE></title></head>
|
||||
<body>
|
||||
|
||||
<h1>
|
||||
<a href="<TMPL_VAR INDEXLINK>"><TMPL_VAR WIKINAME></a>/ <TMPL_VAR TITLE>
|
||||
</h1>
|
||||
|
||||
<hr>
|
||||
|
||||
<ul>
|
||||
<TMPL_LOOP NAME="CHANGELOG">
|
||||
<li>
|
||||
<TMPL_LOOP NAME="PAGES">
|
||||
<TMPL_VAR NAME="LINK"></a>
|
||||
</TMPL_LOOP>
|
||||
<br>
|
||||
changed <TMPL_LOOP NAME="WHEN"> by <TMPL_LOOP NAME="USER">:
|
||||
<i><TMPL_LOOP NAME="MESSAGE"></i>
|
||||
</li>
|
||||
</TMPL_LOOP>
|
||||
</ul>
|
||||
|
||||
</body>
|
||||
</html>
|
Loading…
Reference in New Issue