X-Git-Url: https://sipb.mit.edu/gitweb.cgi/ikiwiki.git/blobdiff_plain/4ef96e2d9994c407f0f2f46301eb91fab6b48a37..79a787a4668caf043862197de2b5ba7e41d37102:/IkiWiki/Plugin/pinger.pm diff --git a/IkiWiki/Plugin/pinger.pm b/IkiWiki/Plugin/pinger.pm index e72833b8f..7b4dce586 100644 --- a/IkiWiki/Plugin/pinger.pm +++ b/IkiWiki/Plugin/pinger.pm @@ -8,16 +8,20 @@ use IkiWiki 2.00; my %pages; my $pinged=0; -sub import { #{{{ +sub import { hook(type => "getsetup", id => "pinger", call => \&getsetup); hook(type => "needsbuild", id => "pinger", call => \&needsbuild); hook(type => "preprocess", id => "ping", call => \&preprocess); hook(type => "delete", id => "pinger", call => \&ping); hook(type => "change", id => "pinger", call => \&ping); -} # }}} +} -sub getsetup () { #{{{ +sub getsetup () { return + plugin => { + safe => 1, + rebuild => 0, + }, pinger_timeout => { type => "integer", example => 15, @@ -25,9 +29,9 @@ sub getsetup () { #{{{ safe => 1, rebuild => 0, }, -} #}}} +} -sub needsbuild (@) { #{{{ +sub needsbuild (@) { my $needsbuild=shift; foreach my $page (keys %pagestate) { if (exists $pagestate{$page}{pinger}) { @@ -41,9 +45,9 @@ sub needsbuild (@) { #{{{ } } } -} # }}} +} -sub preprocess (@) { #{{{ +sub preprocess (@) { my %params=@_; if (! exists $params{from} || ! exists $params{to}) { error gettext("requires 'from' and 'to' parameters"); @@ -56,7 +60,7 @@ sub preprocess (@) { #{{{ else { return sprintf(gettext("Ignoring ping directive for wiki %s (this wiki is %s)"), $params{from}, $config{url}); } -} # }}} +} sub ping { if (! $pinged && %pages) {