diff options
author | Joey Hess <joey@kitenet.net> | 2012-06-03 13:15:19 -0400 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2012-06-03 13:15:19 -0400 |
commit | 32f3b4de00b1d2c4e3bfd7eca63f5ebbd4501ae7 (patch) | |
tree | 03f9973ece80ef3e21c9ef2e4f5b1ae131b28a7b | |
parent | 4eeeed1b6ec99d180b556ea7a6a8a30c9657a0fd (diff) | |
parent | 5b494e1b636f4c26c14c9cf8f964bef0a70c784a (diff) | |
download | ikiwiki-32f3b4de00b1d2c4e3bfd7eca63f5ebbd4501ae7.tar ikiwiki-32f3b4de00b1d2c4e3bfd7eca63f5ebbd4501ae7.tar.gz |
Merge remote-tracking branch 'intrigeri/mirrorlist'
-rw-r--r-- | IkiWiki/Plugin/mirrorlist.pm | 17 | ||||
-rw-r--r-- | doc/plugins/mirrorlist.mdwn | 15 |
2 files changed, 31 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}} ). diff --git a/doc/plugins/mirrorlist.mdwn b/doc/plugins/mirrorlist.mdwn index aedc1f4a0..b63685813 100644 --- a/doc/plugins/mirrorlist.mdwn +++ b/doc/plugins/mirrorlist.mdwn @@ -5,3 +5,18 @@ This plugin allows adding links a list of mirrors to each page in the wiki. For each mirror, a name and an url should be specified. Pages are assumed to exist in the same location under the specified url on each mirror. + +In case the `usedirs` setting is not the same on all your mirrors, or +if it is not the same on your local wiki as on the mirror a +possibility is to let each mirror's ikiwiki CGI find out the correct +target page url themselves; in that case the mirrors urls must be set +to their ikiwiki CGI url instead of their base url. Example: + + mirrorlist_use_cgi => 1, + mirrorlist => { + 'mirror1' => 'https://mirror.example.org/ikiwiki.cgi', + 'mirror2' => 'https://mirror2.example.org/ikiwiki.cgi', + }, + +The mirrors must have the ikiwiki CGI and the [[goto]] plugin enabled +for this to work. |