From ffd1fff775c97296c4d336cb35b9d59511c032bc Mon Sep 17 00:00:00 2001 From: intrigeri Date: Fri, 10 Oct 2008 18:08:00 +0200 Subject: po plugin: allow pagestate update (bugfix) Signed-off-by: intrigeri --- IkiWiki/Plugin/po.pm | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'IkiWiki') diff --git a/IkiWiki/Plugin/po.pm b/IkiWiki/Plugin/po.pm index d7f245e96..5042d264e 100644 --- a/IkiWiki/Plugin/po.pm +++ b/IkiWiki/Plugin/po.pm @@ -14,6 +14,7 @@ use File::Temp; sub import { hook(type => "getsetup", id => "po", call => \&getsetup); hook(type => "checkconfig", id => "po", call => \&checkconfig); + hook(type => "needsbuild", id => "po", call => \&needsbuild); hook(type => "targetpage", id => "po", call => \&targetpage); hook(type => "tweakurlpath", id => "po", call => \&tweakurlpath); hook(type => "tweakbestlink", id => "po", call => \&tweakbestlink); @@ -72,6 +73,22 @@ sub checkconfig () { #{{{ } } #}}} +sub needsbuild (@) { #{{{ + my $needsbuild=shift; + + foreach my $page (keys %pagestate) { + if (exists $pagestate{$page}{po}{translatable}) { + if (exists $pagesources{$page} && + grep { $_ eq $pagesources{$page} } @$needsbuild) { + # remove state, it will be re-added + # if the preprocessor directive is still + # there during the rebuild + delete $pagestate{$page}{po}{translatable}; + } + } + } +} #}}} + sub targetpage (@) { #{{{ my %params = @_; my $page=$params{page}; -- cgit v1.2.3