]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blobdiff - IkiWiki/Plugin/inline.pm
error if ping fails, rather than printing debug
[git.ikiwiki.info.git] / IkiWiki / Plugin / inline.pm
index 3ca4fccdf51307be98b635348e6cb21074250298..d2e58328988e1c87b9232b33925afb722724bf51 100644 (file)
@@ -28,7 +28,6 @@ sub import { #{{{
        # pings interrupting page builds.
        hook(type => "change", id => "inline", 
                call => \&IkiWiki::pingurl);
-
 } # }}}
 
 sub getopt () { #{{{
@@ -48,39 +47,42 @@ sub getopt () { #{{{
 
 sub getsetup () { #{{{
        return
+               plugin => {
+                       safe => 1,
+                       rebuild => undef,
+               },
                rss => {
                        type => "boolean",
-                       default => 0,
-                       description => "enable rss feeds by default",
+                       example => 0,
+                       description => "enable rss feeds by default?",
                        safe => 1,
                        rebuild => 1,
                },
                atom => {
                        type => "boolean",
-                       default => 0,
-                       description => "enable atom feeds by default",
+                       example => 0,
+                       description => "enable atom feeds by default?",
                        safe => 1,
                        rebuild => 1,
                },
                allowrss => {
                        type => "boolean",
-                       default => 0,
-                       description => "allow rss feeds to be used",
+                       example => 0,
+                       description => "allow rss feeds to be used?",
                        safe => 1,
                        rebuild => 1,
                },
                allowatom => {
                        type => "boolean",
-                       default => 0,
-                       description => "allow atom feeds to be used",
+                       example => 0,
+                       description => "allow atom feeds to be used?",
                        safe => 1,
                        rebuild => 1,
                },
                pingurl => {
                        type => "string",
-                       default => "",
                        example => "http://rpc.technorati.com/rpc/ping",
-                       description => "urls to ping (using XMP-RPC) on feed update",
+                       description => "urls to ping (using XML-RPC) on feed update",
                        safe => 1,
                        rebuild => 0,
                },
@@ -96,6 +98,9 @@ sub checkconfig () { #{{{
        if ($config{atom}) {
                push @{$config{wiki_file_prune_regexps}}, qr/\.atom$/;
        }
+       if (! exists $config{pingurl}) {
+               $config{pingurl}=[];
+       }
 } #}}}
 
 sub format (@) { #{{{
@@ -181,7 +186,7 @@ sub preprocess_inline (@) { #{{{
        }
 
        if (exists $params{sort} && $params{sort} eq 'title') {
-               @list=sort @list;
+               @list=sort { pagetitle(basename($a)) cmp pagetitle(basename($b)) } @list;
        }
        elsif (exists $params{sort} && $params{sort} eq 'mtime') {
                @list=sort { $pagemtime{$b} <=> $pagemtime{$a} } @list;
@@ -246,7 +251,7 @@ sub preprocess_inline (@) { #{{{
        my $atomurl=basename(atompage($params{destpage}).$feednum) if $feeds && $atom;
        my $ret="";
 
-       if ($config{cgiurl} && ! $params{preview} && (exists $params{rootpage} ||
+       if (length $config{cgiurl} && ! $params{preview} && (exists $params{rootpage} ||
                        (exists $params{postform} && yesno($params{postform})))) {
                # Add a blog post form, with feed buttons.
                my $formtemplate=template("blogpost.tmpl", blind_cache => 1);
@@ -574,15 +579,15 @@ sub pingurl (@) { #{{{
                                        $title, $url);
                                my $res = $client->send_request($req);
                                if (! ref $res) {
-                                       debug("Did not receive response to ping");
+                                       error("Did not receive response to ping");
                                }
                                my $r=$res->value;
                                if (! exists $r->{flerror} || $r->{flerror}) {
-                                       debug("Ping rejected: ".(exists $r->{message} ? $r->{message} : "[unknown reason]"));
+                                       error("Ping rejected: ".(exists $r->{message} ? $r->{message} : "[unknown reason]"));
                                }
                        };
                        if ($@) {
-                               debug "Ping failed: $@";
+                               error "Ping failed: $@";
                        }
                }
        }