Merge remote branch 'davrieb/autotag' into autotag
[ikiwiki.git] / IkiWiki / Plugin / inline.pm
index 93dc0149e7a092a479807095f876a758db11d902..3359af31410b3c7eb9a5b2c7655ce91c707acdba 100644 (file)
@@ -49,6 +49,7 @@ sub getsetup () {
                plugin => {
                        safe => 1,
                        rebuild => undef,
+                       section => "core",
                },
                rss => {
                        type => "boolean",
@@ -159,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);
+       my $feeds=! $nested && (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) {
@@ -209,7 +210,7 @@ sub preprocess_inline (@) {
                if ($params{show}) {
                        $num=$params{show};
                }
-               if ($params{feedshow} && $num < $params{feedshow}) {
+               if ($params{feedshow} && $num < $params{feedshow} && $num > 0) {
                        $num=$params{feedshow};
                }
                if ($params{skip} && $num) {
@@ -357,9 +358,9 @@ sub preprocess_inline (@) {
                                        my $file = $pagesources{$page};
                                        my $type = pagetype($file);
                                        if ($config{discussion}) {
-                                               if ($page !~ /.*\/\Q$config{discussionpage}\E$/ &&
+                                               if ($page !~ /.*\/\Q$config{discussionpage}\E$/i &&
                                                    (length $config{cgiurl} ||
-                                                    exists $pagesources{$page."/".$config{discussionpage}})) {
+                                                    exists $pagesources{$page."/".lc($config{discussionpage})})) {
                                                        $template->param(have_actions => 1);
                                                        $template->param(discussionlink =>
                                                                htmllink($page,
@@ -369,9 +370,12 @@ sub preprocess_inline (@) {
                                                                        forcesubpage => 1));
                                                }
                                        }
-                                       if (length $config{cgiurl} && defined $type) {
+                                       if (length $config{cgiurl} &&
+                                           defined $type &&
+                                           IkiWiki->can("cgi_editpage")) {
                                                $template->param(have_actions => 1);
                                                $template->param(editurl => cgiurl(do => "edit", page => $page));
+
                                        }
                                }
        
@@ -549,7 +553,8 @@ sub genfeed ($$$$$@) {
 
                if (exists $pagestate{$p}) {
                        if (exists $pagestate{$p}{meta}{guid}) {
-                               $itemtemplate->param(guid => $pagestate{$p}{meta}{guid});
+                               eval q{use HTML::Entities};
+                               $itemtemplate->param(guid => HTML::Entities::encode_numeric($pagestate{$p}{meta}{guid}));
                        }
 
                        if (exists $pagestate{$p}{meta}{updated}) {