aboutsummaryrefslogtreecommitdiff
path: root/IkiWiki/Plugin
diff options
context:
space:
mode:
authorintrigeri <intrigeri@boum.org>2010-12-20 15:21:49 +0100
committerintrigeri <intrigeri@boum.org>2012-04-28 00:18:59 +0200
commit5b494e1b636f4c26c14c9cf8f964bef0a70c784a (patch)
tree61f73f8c4cae2357c6f2f5a4a37f71ab402931ad /IkiWiki/Plugin
parente09eeb24363a3e0033102c894cef347afd89b0c2 (diff)
downloadikiwiki-5b494e1b636f4c26c14c9cf8f964bef0a70c784a.tar
ikiwiki-5b494e1b636f4c26c14c9cf8f964bef0a70c784a.tar.gz
mirrorlist: new mirrorlist_use_cgi boolean setting.
When set to true, let each mirror's ikiwiki CGI find out the correct target page url themselves. This resolves the usecase described on [[todo/mirrorlist_with_per-mirror_usedirs_settings]]. Signed-off-by: intrigeri <intrigeri@boum.org>
Diffstat (limited to 'IkiWiki/Plugin')
-rw-r--r--IkiWiki/Plugin/mirrorlist.pm17
1 files changed, 16 insertions, 1 deletions
diff --git a/IkiWiki/Plugin/mirrorlist.pm b/IkiWiki/Plugin/mirrorlist.pm
index f54d94ad5..b7e532485 100644
--- a/IkiWiki/Plugin/mirrorlist.pm
+++ b/IkiWiki/Plugin/mirrorlist.pm
@@ -24,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 (@) {
@@ -46,7 +59,9 @@ sub mirrorlist ($) {
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}}
).