X-Git-Url: http://git.tremily.us/?a=blobdiff_plain;f=IkiWiki%2FPlugin%2Fmirrorlist.pm;h=f54d94ad52366110e29f20575672bcd0fcc4413c;hb=937b24e0cf98d75dd353d80267efddcecab9e908;hp=3997e6fefcd31c15a8fa6df7e559a6ffdf84e863;hpb=ee1ad53c4c2710aa7ded61bdc56f3a8cce514f22;p=ikiwiki.git diff --git a/IkiWiki/Plugin/mirrorlist.pm b/IkiWiki/Plugin/mirrorlist.pm index 3997e6fef..f54d94ad5 100644 --- a/IkiWiki/Plugin/mirrorlist.pm +++ b/IkiWiki/Plugin/mirrorlist.pm @@ -3,23 +3,44 @@ package IkiWiki::Plugin::mirrorlist; use warnings; use strict; -use IkiWiki 2.00; +use IkiWiki 3.00; -sub import { #{{{ +sub import { + hook(type => "getsetup", id => "mirrorlist", call => \&getsetup); hook(type => "pagetemplate", id => "mirrorlist", call => \&pagetemplate); -} # }}} +} -sub pagetemplate (@) { #{{{ +sub getsetup () { + return + plugin => { + safe => 1, + rebuild => 1, + section => "web", + }, + mirrorlist => { + type => "string", + example => {}, + description => "list of mirrors", + safe => 1, + rebuild => 1, + }, +} + +sub pagetemplate (@) { my %params=@_; my $template=$params{template}; - $template->param(extrafooter => mirrorlist($params{page})) - if $template->query(name => "extrafooter"); -} # }}} + if ($template->query(name => "extrafooter") && + keys %{$config{mirrorlist}} > 0) { + my $value=$template->param("extrafooter"); + $value.=mirrorlist($params{page}); + $template->param(extrafooter => $value); + } +} -sub mirrorlist ($) { #{{{ +sub mirrorlist ($) { my $page=shift; - return "

". + return ($config{html5} ? '

' : ''); +} 1