use IkiWiki;
sub linkify ($$) { #{{{
- my $content=shift;
my $page=shift;
+ my $content=shift;
$content =~ s{(\\?)$config{wiki_link_regexp}}{
$2 ? ( $1 ? "[[$2|$3]]" : htmllink($page, titlepage($3), 0, 0, pagetitle($2)))
} #}}}
sub genpage ($$$) { #{{{
- my $content=shift;
my $page=shift;
+ my $content=shift;
my $mtime=shift;
my $title=pagetitle(basename($page));
my $template=HTML::Template->new(blind_cache => 1,
filename => "$config{templatedir}/page.tmpl");
-
+ my $actions=0;
+
if (length $config{cgiurl}) {
$template->param(editurl => cgiurl(do => "edit", page => $page));
$template->param(prefsurl => cgiurl(do => "prefs"));
if ($config{rcs}) {
$template->param(recentchangesurl => cgiurl(do => "recentchanges"));
}
+ $actions++;
}
if (length $config{historyurl}) {
my $u=$config{historyurl};
$u=~s/\[\[file\]\]/$pagesources{$page}/g;
$template->param(historyurl => $u);
+ $actions++;
}
if ($config{discussion}) {
$template->param(discussionlink => htmllink($page, "Discussion", 1, 1));
+ $actions++;
+ }
+
+ if ($actions) {
+ $template->param(have_actions => 1);
}
if (exists $hooks{pagetemplate}) {
} #}}}
sub findlinks ($$) { #{{{
- my $content=shift;
my $page=shift;
+ my $content=shift;
my @links;
while ($content =~ /(?<!\\)$config{wiki_link_regexp}/g) {
}
}
- $links{$page}=[findlinks($content, $page)];
+ $links{$page}=[findlinks($page, $content)];
- $content=linkify($content, $page);
+ $content=linkify($page, $content);
$content=preprocess($page, $content);
$content=htmlize($type, $content);
check_overwrite("$config{destdir}/".htmlpage($page), $page);
writefile(htmlpage($page), $config{destdir},
- genpage($content, $page, mtime($srcfile)));
+ genpage($page, $content, mtime($srcfile)));
$oldpagemtime{$page}=time;
$renderedfiles{$page}=htmlpage($page);
}
push @add, $file;
$links{$page}=[];
$pagesources{$page}=$file;
- $pagectime{$page}=mtime(srcfile($file))
- unless exists $pagectime{$page};
+ if ($config{getctime} && -e "$config{srcdir}/$file") {
+ $pagectime{$page}=rcs_getctime("$config{srcdir}/$file");
+ }
+ elsif (! exists $pagectime{$page}) {
+ $pagectime{$page}=mtime(srcfile($file));
+ }
}
}
my @del;