X-Git-Url: http://git.tremily.us/?p=ikiwiki.git;a=blobdiff_plain;f=IkiWiki%2FPlugin%2Finline.pm;h=ffdf397f1f337af6cfcb6435f8aaf35fcc63faf7;hp=76527156406159e381164835b4c1dc3015cb346f;hb=27a80dc40aa4cad93576a35d0af1f6c117ffcb68;hpb=0ae1e4cc0e598eacfeb508d11db81c33169631fd diff --git a/IkiWiki/Plugin/inline.pm b/IkiWiki/Plugin/inline.pm index 765271564..ffdf397f1 100644 --- a/IkiWiki/Plugin/inline.pm +++ b/IkiWiki/Plugin/inline.pm @@ -128,10 +128,10 @@ sub sessioncgi ($$) { $add=1 unless length $add; $add++; } - $q->param('page', $page.$add); + $q->param('page', "/$from/$page$add"); # now go create the page $q->param('do', 'create'); - # make sure the editpage plugin in loaded + # make sure the editpage plugin is loaded if (IkiWiki->can("cgi_editpage")) { IkiWiki::cgi_editpage($q, $session); } @@ -160,7 +160,7 @@ sub preprocess_inline (@) { my $rss=(($config{rss} || $config{allowrss}) && exists $params{rss}) ? yesno($params{rss}) : $config{rss}; my $atom=(($config{atom} || $config{allowatom}) && exists $params{atom}) ? yesno($params{atom}) : $config{atom}; my $quick=exists $params{quick} ? yesno($params{quick}) : 0; - my $feeds=! $nested && (exists $params{feeds} ? yesno($params{feeds}) : !$quick && ! $raw); + my $feeds=exists $params{feeds} ? yesno($params{feeds}) : !$quick && ! $raw; my $emptyfeeds=exists $params{emptyfeeds} ? yesno($params{emptyfeeds}) : 1; my $feedonly=yesno($params{feedonly}); if (! exists $params{show} && ! $archive) { @@ -269,7 +269,7 @@ sub preprocess_inline (@) { } $params{feedfile}=possibly_foolish_untaint($params{feedfile}); } - $feedbase=targetpage($params{destpage}, "", $params{feedfile}); + $feedbase=targetpage($params{page}, "", $params{feedfile}); my $feedid=join("\0", $feedbase, map { $_."\0".$params{$_} } sort keys %params); if (exists $knownfeeds{$feedid}) { @@ -290,8 +290,17 @@ sub preprocess_inline (@) { } } - my $rssurl=abs2rel($feedbase."rss".$feednum, dirname(htmlpage($params{destpage}))) if $feeds && $rss; - my $atomurl=abs2rel($feedbase."atom".$feednum, dirname(htmlpage($params{destpage}))) if $feeds && $atom; + my ($rssurl, $atomurl, $rssdesc, $atomdesc); + if ($feeds) { + if ($rss) { + $rssurl=abs2rel($feedbase."rss".$feednum, dirname(htmlpage($params{destpage}))); + $rssdesc = sprintf(gettext("%s (RSS feed)"), $desc); + } + if ($atom) { + $atomurl=abs2rel($feedbase."atom".$feednum, dirname(htmlpage($params{destpage}))); + $atomdesc = sprintf(gettext("%s (Atom feed)"), $desc); + } + } my $ret=""; @@ -302,8 +311,16 @@ sub preprocess_inline (@) { my $formtemplate=template_depends("blogpost.tmpl", $params{page}, blind_cache => 1); $formtemplate->param(cgiurl => IkiWiki::cgiurl()); $formtemplate->param(rootpage => rootpage(%params)); - $formtemplate->param(rssurl => $rssurl) if $feeds && $rss; - $formtemplate->param(atomurl => $atomurl) if $feeds && $atom; + if ($feeds) { + if ($rss) { + $formtemplate->param(rssurl => $rssurl); + $formtemplate->param(rssdesc => $rssdesc); + } + if ($atom) { + $formtemplate->param(atomurl => $atomurl); + $formtemplate->param(atomdesc => $atomdesc); + } + } if (exists $params{postformtext}) { $formtemplate->param(postformtext => $params{postformtext}); @@ -312,6 +329,10 @@ sub preprocess_inline (@) { $formtemplate->param(postformtext => gettext("Add a new post titled:")); } + if (exists $params{id}) { + $formtemplate->param(postformid => + $params{id}); + } $ret.=$formtemplate->output; # The post form includes the feed buttons, so @@ -321,8 +342,17 @@ sub preprocess_inline (@) { elsif ($feeds && !$params{preview} && ($emptyfeeds || @feedlist)) { # Add feed buttons. my $linktemplate=template_depends("feedlink.tmpl", $params{page}, blind_cache => 1); - $linktemplate->param(rssurl => $rssurl) if $rss; - $linktemplate->param(atomurl => $atomurl) if $atom; + if ($rss) { + $linktemplate->param(rssurl => $rssurl); + $linktemplate->param(rssdesc => $rssdesc); + } + if ($atom) { + $linktemplate->param(atomurl => $atomurl); + $linktemplate->param(atomdesc => $atomdesc); + } + if (exists $params{id}) { + $linktemplate->param(id => $params{id}); + } $ret.=$linktemplate->output; } @@ -417,9 +447,9 @@ sub preprocess_inline (@) { if (! $params{preview}) { writefile($rssp, $config{destdir}, genfeed("rss", - $config{url}."/".$rssp, $desc, $params{guid}, $params{destpage}, @feedlist)); + $config{url}."/".$rssp, $desc, $params{guid}, $params{page}, @feedlist)); $toping{$params{destpage}}=1 unless $config{rebuild}; - $feedlinks{$params{destpage}}.=qq{}; + $feedlinks{$params{destpage}}.=qq{}; } } if ($atom) { @@ -427,9 +457,9 @@ sub preprocess_inline (@) { will_render($params{destpage}, $atomp); if (! $params{preview}) { writefile($atomp, $config{destdir}, - genfeed("atom", $config{url}."/".$atomp, $desc, $params{guid}, $params{destpage}, @feedlist)); + genfeed("atom", $config{url}."/".$atomp, $desc, $params{guid}, $params{page}, @feedlist)); $toping{$params{destpage}}=1 unless $config{rebuild}; - $feedlinks{$params{destpage}}.=qq{}; + $feedlinks{$params{destpage}}.=qq{}; } } }