summaryrefslogtreecommitdiff
path: root/IkiWiki
diff options
context:
space:
mode:
authorintrigeri <intrigeri@boum.org>2008-10-07 22:08:28 +0200
committerintrigeri <intrigeri@boum.org>2008-10-18 15:49:07 +0200
commit45d08022bbb97f1731951402997fa343f82c1494 (patch)
treec1779a892ef320db674bc2cefa59ff8b7efa6dd4 /IkiWiki
parentfae57e807a6367708b8137109d79d75c5b2c75e6 (diff)
po plugin: name rendered master pages like slave ones (page.html.LL)
Apache's content negotiation transparently redirects any old URL (page.html) to the new one, depending on the client preferred language (i.e. a German browser will be fed with page.html.de). Transition to this naming convention is then really smooth. This naming convention allows one to deliberately display the master page, even if her browser is configured for another language. Signed-off-by: intrigeri <intrigeri@boum.org>
Diffstat (limited to 'IkiWiki')
-rw-r--r--IkiWiki/Plugin/po.pm22
1 files changed, 14 insertions, 8 deletions
diff --git a/IkiWiki/Plugin/po.pm b/IkiWiki/Plugin/po.pm
index 351b9c155..941f5629d 100644
--- a/IkiWiki/Plugin/po.pm
+++ b/IkiWiki/Plugin/po.pm
@@ -51,16 +51,22 @@ sub targetpage (@) { #{{{
my $page=$params{page};
my $ext=$params{ext};
- if (! IkiWiki::PageSpec::match_istranslation($page, $page)) {
- return;
- }
-
- my ($masterpage, $lang) = ($page =~ /(.*)[.]([a-z]{2})$/);
- if (! $config{usedirs} || $page eq 'index') {
- return $masterpage.".".$ext.".".$lang;
+ if (IkiWiki::PageSpec::match_istranslation($page, $page)) {
+ my ($masterpage, $lang) = ($page =~ /(.*)[.]([a-z]{2})$/);
+ if (! $config{usedirs} || $page eq 'index') {
+ return $masterpage . "." . $ext . "." . $lang;
+ }
+ else {
+ return $masterpage . "/index." . $ext . "." . $lang;
+ }
}
else {
- return $masterpage."/index.".$ext.".".$lang;
+ if (! $config{usedirs} || $page eq 'index') {
+ return $page . "." . $ext . "." . $config{po_master_language}{code};
+ }
+ else {
+ return $page . "/index." . $ext . "." . $config{po_master_language}{code};
+ }
}
} #}}}