po: fix link to homepage in special case

... by wrapping IkiWiki::urlto in order to workaround hard-coded
/index.$config{htmlext}, which is wrong when usedirs=0 and po_link_to=current
and translatable homepage

Signed-off-by: intrigeri <intrigeri@boum.org>
master
intrigeri 2008-11-06 17:28:04 +01:00
parent 8b001dbb00
commit daa04ae436
2 changed files with 17 additions and 5 deletions

View File

@ -48,6 +48,8 @@ sub import { #{{{
inject(name => "IkiWiki::beautify_urlpath", call => \&mybeautify_urlpath);
$origsubs{'targetpage'}=\&IkiWiki::targetpage;
inject(name => "IkiWiki::targetpage", call => \&mytargetpage);
$origsubs{'urlto'}=\&IkiWiki::urlto;
inject(name => "IkiWiki::urlto", call => \&myurlto);
} #}}}
sub getsetup () { #{{{
@ -256,6 +258,21 @@ sub urlto_with_orig_beautiful_urlpath($$) { #{{{
return $res;
} #}}}
sub myurlto ($$;$) { #{{{
my $to=shift;
my $from=shift;
my $absolute=shift;
if (! length $to
&& $config{po_link_to} eq "current"
&& istranslation($from)
&& istranslatable('index')) {
my ($masterpage, $curlang) = ($from =~ /(.*)[.]([a-z]{2})$/);
return IkiWiki::beautify_urlpath(IkiWiki::baseurl($from) . "index." . $curlang . ".$config{htmlext}");
}
return $origsubs{'urlto'}->($to,$from,$absolute);
} #}}}
sub mybestlink ($$) { #{{{
my $page=shift;
my $link=shift;

View File

@ -254,11 +254,6 @@ in the backlinks.
`po_link_to = current`: seems to work nicely
### parentlinks
When `usedirs` is disabled and the home page is translatable, the
parent link to the wiki home page is broken (`/index.html`).
Translation quality assurance
-----------------------------