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>master
parent
e09eeb2436
commit
5b494e1b63
|
@ -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}}
|
||||
).
|
||||
|
|
|
@ -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.
|
||||
|
|
Loading…
Reference in New Issue