X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/0c6648f02c56a867d1078832921b185c3fce310d..f32f6411ff604a879151ab329907afca351ea3b6:/IkiWiki/Plugin/mirrorlist.pm?ds=sidebyside

diff --git a/IkiWiki/Plugin/mirrorlist.pm b/IkiWiki/Plugin/mirrorlist.pm
index d0a6107ef..b7e532485 100644
--- a/IkiWiki/Plugin/mirrorlist.pm
+++ b/IkiWiki/Plugin/mirrorlist.pm
@@ -15,6 +15,7 @@ sub getsetup () {
 		plugin => {
 			safe => 1,
 			rebuild => 1,
+			section => "web",
 		},
 		mirrorlist => {
 			type => "string",
@@ -23,6 +24,19 @@ sub getsetup () {
 			safe => 1,
 			rebuild => 1,
 		},
+		mirrorlist_use_cgi => {
+			type => 'boolean',
+			example => 1,
+			description => "generate links that point to the mirrors' ikiwiki CGI",
+			safe => 1,
+			rebuild => 1,
+		},
+}
+
+sub checkconfig () {
+	if (! defined $config{mirrorlist_use_cgi}) {
+		$config{mirrorlist_use_cgi}=0;
+	}
 }
 
 sub pagetemplate (@) {
@@ -39,17 +53,19 @@ sub pagetemplate (@) {
 
 sub mirrorlist ($) {
 	my $page=shift;
-	return "<p>".
+	return ($config{html5} ? '<nav id="mirrorlist">' : '<div>').
 		(keys %{$config{mirrorlist}} > 1 ? gettext("Mirrors") : gettext("Mirror")).
 		": ".
 		join(", ",
 			map { 
 				qq{<a href="}.
-				$config{mirrorlist}->{$_}."/".urlto($page, "").
+				( $config{mirrorlist_use_cgi} ?
+				  $config{mirrorlist}->{$_}."?do=goto&page=$page" :
+				  $config{mirrorlist}->{$_}."/".urlto($page, "") ).
 				qq{">$_</a>}
 			} keys %{$config{mirrorlist}}
 		).
-		"</p>";
+		($config{html5} ? '</nav>' : '</div>');
 }
 
 1