- $template->param(pagelink => htmllink($params{page}, $params{page}, $page));
- $template->param(content => get_inline_content($page, $params{page}))
- if $params{archive} eq "no";
- $template->param(ctime => displaytime($pagectime{$page}));
-
- if (exists $hooks{pagetemplate}) {
- foreach my $id (keys %{$hooks{pagetemplate}}) {
- $hooks{pagetemplate}{$id}{call}->(
- page => $page,
- destpage => $params{page},
- template => $template,
- );
+ if (! $raw) {
+ # Get the content before populating the template,
+ # since getting the content uses the same template
+ # if inlines are nested.
+ # TODO: if $archive=1, the only reason to do this
+ # is to let the meta plugin get page title info; so stop
+ # calling this next line then once the meta plugin can
+ # store that accross runs (also tags plugin).
+ my $content=get_inline_content($page, $params{destpage});
+ # Don't use htmllink because this way the title is separate
+ # and can be overridden by other plugins.
+ my $link=htmlpage(bestlink($params{page}, $page));
+ $link=abs2rel($link, dirname($params{destpage}));
+ $template->param(pageurl => $link);
+ $template->param(title => pagetitle(basename($page)));
+ $template->param(content => $content);
+ $template->param(ctime => displaytime($pagectime{$page}));
+
+ if ($actions) {
+ my $file = $pagesources{$page};
+ my $type = pagetype($file);
+ if ($config{discussion}) {
+ $template->param(have_actions => 1);
+ $template->param(discussionlink => htmllink($page, $page, "Discussion", 1, 1));
+ }
+ if (length $config{cgiurl} && defined $type) {
+ $template->param(have_actions => 1);
+ $template->param(editurl => cgiurl(do => "edit", page => $page));
+ }