my $page=shift;
my $content=shift;
- run_hooks(postscan => sub {
- shift->(page => $page, content => $content);
+ run_hooks(indexhtml => sub {
+ shift->(page => $page, destpage => $page, content => $content);
});
my $templatefile;
$template=template('page.tmpl',
blind_cache => 1);
}
- my $actions=0;
+ my $actions=0;
if (length $config{cgiurl}) {
if (IkiWiki->can("cgi_editpage")) {
$template->param(editurl => cgiurl(do => "edit", page => $page));
$actions++;
}
- if (exists $hooks{auth}) {
- $template->param(prefsurl => cgiurl(do => "prefs"));
- $actions++;
- }
}
-
if (defined $config{historyurl} && length $config{historyurl}) {
my $u=$config{historyurl};
$u=~s/\[\[file\]\]/$pagesources{$page}/g;
$actions++;
}
}
-
if ($actions) {
$template->param(have_actions => 1);
}
+ templateactions($template, $page);
my @backlinks=sort { $a->{page} cmp $b->{page} } backlinks($page);
my ($backlinks, $more_backlinks);
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 {
my ($f) = $file =~ /$config{wiki_file_regexp}/; # untaint
if (! defined $f) {
warn(sprintf(gettext("skipping bad filename %s"), $file)."\n");
+ return;
}
if ($underlay) {
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};
}
delete $pagecase{lc $page};
+ $delpagesources{$page}=$pagesources{$page};
delete $pagesources{$page};
}
}
my %lc_exists_changed = map { lc(pagename($_)) => 1 } @exists_changed;
foreach my $p ("templates/page.tmpl", keys %{$depends_simple{""}}) {
- if ($rendered{$p}) {
+ 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));
# only consider internal files
# if the page explicitly depends
# on such files
- my $internal_dep=$dep =~ /internal\(/;
+ my $internal_dep=$dep =~ /(?:internal|comment|comment_pending)\(/;
my $in=sub {
my $list=shift;
render_backlinks($backlinkchanged);
remove_unrendered();
- if (@$del) {
- run_hooks(delete => sub { shift->(@$del) });
+ if (@$del || @$internal_del) {
+ run_hooks(delete => sub { shift->(@$del, @$internal_del) });
}
if (%rendered) {
run_hooks(change => sub { shift->(keys %rendered) });