$params{show}=10;
}
$inlinepages{$parentpage}=$params{pages};
-
+
+ my $ret="";
+
+ if (exists $params{rootpage}) {
+ my $formtemplate=HTML::Template->new(blind_cache => 1,
+ filename => "$config{templatedir}/blogpost.tmpl");
+ $formtemplate->param(cgiurl => $config{cgiurl});
+ $formtemplate->param(rootpage => $params{rootpage});
+ my $form=$formtemplate->output;
+ $ret.=$form;
+ }
+
my $template=HTML::Template->new(blind_cache => 1,
filename => (($params{archive} eq "no")
? "$config{templatedir}/inlinepage.tmpl"
: "$config{templatedir}/inlinepagetitle.tmpl"));
- my $ret="";
foreach my $page (blog_list($params{pages}, $params{show})) {
next if $page eq $parentpage;
$template->param(pagelink => htmllink($parentpage, $page));
$template->param(historyurl => $u);
}
- if ($config{rss}) {
+ if ($config{rss} && $inlinepages{$page}) {
$template->param(rssurl => rsspage($page));
}
$content=~s/<a\s+href="(?!http:\/\/)([^"]+)"/<a href="$url$1"/ig;
$content=~s/<img\s+src="(?!http:\/\/)([^"]+)"/<img src="$url$1"/ig;
return $content;
-} #}}}zo
+} #}}}
sub genrss ($$$) { #{{{
my $content=shift;
if (! exists $params{pages}) {
return "";
}
- $inlinepages{$parentpage}=$params{pages};
$isblog=1;
foreach my $page (blog_list($params{pages}, $params{show})) {
$content = postprocess($page, $content, inline => $gen_blog);
- # Regular page gets a feed that is updated every time the
- # page is changed, so the mtime is encoded in the guid.
- push @items, {
- itemtitle => pagetitle(basename($page)),
- itemguid => "$url?mtime=$mtime",
- itemurl => $url,
- itempubdate => date_822($mtime),
- itemcontent => absolute_urls($content, $url),
- } unless $isblog;
-
$template->param(
title => $config{wikiname},
pageurl => $url,
# TODO: should really add this to renderedfiles and call
# check_overwrite, as above, but currently renderedfiles
# only supports listing one file per page.
- if ($config{rss}) {
+ if ($config{rss} && exists $inlinepages{$page}) {
writefile("$config{destdir}/".rsspage($page),
genrss($content, $page, mtime("$config{srcdir}/$file")));
}
# problem is the backlinks could be wrong in the first pass render
# above
if (%rendered || @del) {
+ foreach my $f (@files) {
+ my $p=pagename($f);
+ if (exists $inlinepages{$p}) {
+ foreach my $file (keys %rendered, @del) {
+ my $page=pagename($file);
+ if (globlist_match($page, $inlinepages{$p})) {
+ debug("rendering $f, which inlines $page");
+ render($f);
+ last;
+ }
+ }
+ }
+ }
+
my %linkchanged;
foreach my $file (keys %rendered, @del) {
my $page=pagename($file);
- foreach my $f (@files) {
- my $p=pagename($f);
- if (exists $inlinepages{$p} &&
- globlist_match($page, $inlinepages{$p})) {
- debug("rendering $f, which inlines $page");
- render($f);
- next;
- }
- }
-
if (exists $links{$page}) {
foreach my $link (map { bestlink($page, $_) } @{$links{$page}}) {
if (length $link &&