summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--IkiWiki/Plugin/po.pm17
-rw-r--r--doc/plugins/po.mdwn7
2 files changed, 11 insertions, 13 deletions
diff --git a/IkiWiki/Plugin/po.pm b/IkiWiki/Plugin/po.pm
index cc8e9b2ed..a5bf4fb54 100644
--- a/IkiWiki/Plugin/po.pm
+++ b/IkiWiki/Plugin/po.pm
@@ -38,7 +38,7 @@ sub import {
hook(type => "needsbuild", id => "po", call => \&needsbuild);
hook(type => "filter", id => "po", call => \&filter);
hook(type => "htmlize", id => "po", call => \&htmlize);
- hook(type => "pagetemplate", id => "po", call => \&pagetemplate);
+ hook(type => "pagetemplate", id => "po", call => \&pagetemplate, last => 1);
hook(type => "editcontent", id => "po", call => \&editcontent);
inject(name => "IkiWiki::bestlink", call => \&mybestlink);
inject(name => "IkiWiki::beautify_urlpath", call => \&mybeautify_urlpath);
@@ -398,9 +398,10 @@ sub otherlanguages ($) { #{{{
sub pagetemplate (@) { #{{{
my %params=@_;
- my $page=$params{page};
- my $destpage=$params{destpage};
- my $template=$params{template};
+ my $page=$params{page};
+ my $destpage=$params{destpage};
+ my $template=$params{template};
+ my ($masterpage, $lang) = ($page =~ /(.*)[.]([a-z]{2})$/) if istranslation($page);
if (istranslation($page) && $template->query(name => "percenttranslated")) {
$template->param(percenttranslated => percenttranslated($page));
@@ -419,7 +420,6 @@ sub pagetemplate (@) { #{{{
}
}
elsif (istranslation($page)) {
- my ($masterpage, $curlang) = ($page =~ /(.*)[.]([a-z]{2})$/);
add_depends($page, $masterpage);
foreach my $translation (values %{$translations{$masterpage}}) {
add_depends($page, $translation);
@@ -434,7 +434,6 @@ sub pagetemplate (@) { #{{{
# prevent future breakage when ikiwiki internals change.
# Known limitations are preferred to future random bugs.
if ($template->param('discussionlink') && istranslation($page)) {
- my ($masterpage, $lang) = ($page =~ /(.*)[.]([a-z]{2})$/);
$template->param('discussionlink' => htmllink(
$page,
$destpage,
@@ -444,6 +443,12 @@ sub pagetemplate (@) { #{{{
linktext => gettext("Discussion"),
));
}
+ # remove broken parentlink to ./index.html on home page's translations
+ if ($template->param('parentlinks')
+ && istranslation($page)
+ && $masterpage eq "index") {
+ $template->param('parentlinks' => []);
+ }
} # }}}
sub editcontent () { #{{{
diff --git a/doc/plugins/po.mdwn b/doc/plugins/po.mdwn
index 6aa63b429..61ed9e107 100644
--- a/doc/plugins/po.mdwn
+++ b/doc/plugins/po.mdwn
@@ -259,13 +259,6 @@ be fixed by something like [[todo/using_meta_titles_for_parentlinks]].
Which configuration settings are safe enough for websetup?
-### parentlinks
-
-When the wiki home page is translatable, the parentlinks plugin sets
-`./index.html` as its translations' single parent link. Ideally, the
-home page's translations should get no parent link at all, just like
-the version written in the master language.
-
### backlinks
If a given translatable `sourcepage.mdwn` links to \[[destpage]],