aboutsummaryrefslogtreecommitdiff
path: root/IkiWiki/Plugin
diff options
context:
space:
mode:
authorJoey Hess <joey@kitenet.net>2011-03-24 19:44:32 -0400
committerJoey Hess <joey@kitenet.net>2011-03-24 19:44:32 -0400
commit7821965ef0c8c49b233d8abb621af33f1f7a31bd (patch)
tree99fc202151cbb3f09baeeec188788a79fd3d7119 /IkiWiki/Plugin
parentf39d02583abee54d1c7792dcc171db6bba226091 (diff)
downloadikiwiki-7821965ef0c8c49b233d8abb621af33f1f7a31bd.tar
ikiwiki-7821965ef0c8c49b233d8abb621af33f1f7a31bd.tar.gz
fix targetpage replacement to support 3 argument form
Oddly, this hadn't caused any visible breakage. Possibly inline, which is the only thing to use targetpage, resolves the function to the "real" one before po gets loaded?
Diffstat (limited to 'IkiWiki/Plugin')
-rw-r--r--IkiWiki/Plugin/po.pm10
1 files changed, 7 insertions, 3 deletions
diff --git a/IkiWiki/Plugin/po.pm b/IkiWiki/Plugin/po.pm
index 0ea35b21c..9ccc79268 100644
--- a/IkiWiki/Plugin/po.pm
+++ b/IkiWiki/Plugin/po.pm
@@ -624,20 +624,24 @@ sub mybeautify_urlpath ($) {
return $res;
}
-sub mytargetpage ($$) {
+sub mytargetpage ($$;$) {
my $page=shift;
my $ext=shift;
+ my $filename=shift;
if (istranslation($page) || istranslatable($page)) {
my ($masterpage, $lang) = (masterpage($page), lang($page));
- if (! $config{usedirs} || $masterpage eq 'index') {
+ if (defined $filename) {
+ return $masterpage . "/" . $filename . "." . $lang . "." . $ext;
+ }
+ elsif (! $config{usedirs} || $masterpage eq 'index') {
return $masterpage . "." . $lang . "." . $ext;
}
else {
return $masterpage . "/index." . $lang . "." . $ext;
}
}
- return $origsubs{'targetpage'}->($page, $ext);
+ return $origsubs{'targetpage'}->($page, $ext, $filename);
}
sub myurlto ($;$$) {