From bc5b875de85419d38688b47e0d40ff808f0ebd86 Mon Sep 17 00:00:00 2001 From: intrigeri Date: Tue, 4 Nov 2008 20:05:21 +0100 Subject: [PATCH] po plugin: remove broken parentlinks for home page's translations Signed-off-by: intrigeri --- IkiWiki/Plugin/po.pm | 17 +++++++++++------ doc/plugins/po.mdwn | 7 ------- 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]],