From e82c6b1908b21b5e4246767d6a87fe46245e5e29 Mon Sep 17 00:00:00 2001 From: intrigeri Date: Fri, 10 Oct 2008 15:16:04 +0200 Subject: [PATCH] po plugin: implement linking specification in one of the main cases i.e. in case usedirs is enabled and po_link_to_current_language is disabled Signed-off-by: intrigeri --- IkiWiki/Plugin/po.pm | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/IkiWiki/Plugin/po.pm b/IkiWiki/Plugin/po.pm index fea4ca6eb..63be0e389 100644 --- a/IkiWiki/Plugin/po.pm +++ b/IkiWiki/Plugin/po.pm @@ -15,6 +15,7 @@ sub import { hook(type => "getsetup", id => "po", call => \&getsetup); hook(type => "checkconfig", id => "po", call => \&checkconfig); hook(type => "targetpage", id => "po", call => \&targetpage); + hook(type => "tweakurlpath", id => "po", call => \&tweakurlpath); hook(type => "filter", id => "po", call => \&filter); hook(type => "preprocess", id => "translatable", call => \&preprocess_translatable); hook(type => "htmlize", id => "po", call => \&htmlize); @@ -91,6 +92,15 @@ sub targetpage (@) { #{{{ } } #}}} +sub tweakurlpath ($) { #{{{ + my %params = @_; + my $url=$params{url}; + if (! $config{po_link_to_current_language} && $config{usedirs}) { + $url =~ s!/index.$config{po_master_language}{code}.$config{htmlext}$!/!; + } + return $url; +} #}}} + # We use filter to convert PO to the master page's type, # since other plugins should not work on PO files sub filter (@) { #{{{