From: intrigeri Date: Tue, 27 Jan 2009 16:52:32 +0000 (+0100) Subject: po: remove all dependencies on nicepagetitle X-Git-Url: https://sipb.mit.edu/gitweb.cgi/ikiwiki.git/commitdiff_plain/ea753782b222bf4ba2fb4683b6363afdd9055b64?hp=51badc960d933f6d0670cc76390c332a31b35d63;ds=sidebyside po: remove all dependencies on nicepagetitle ... as my meta branch probably won't be merged before the po plugin is, contrary to what I was originally supposing. This implies removing the po_translation_status_in_links and po_strictly_refresh_backlinks options. Added a note to the TODO section to think of bringing these features back later, as they really enhance user experience on a translatable wiki. Signed-off-by: intrigeri --- diff --git a/IkiWiki/Plugin/po.pm b/IkiWiki/Plugin/po.pm index 6c6bb2cd1..9a3df79ac 100644 --- a/IkiWiki/Plugin/po.pm +++ b/IkiWiki/Plugin/po.pm @@ -36,7 +36,6 @@ sub import { hook(type => "filter", id => "po", call => \&filter); hook(type => "htmlize", id => "po", call => \&htmlize); hook(type => "pagetemplate", id => "po", call => \&pagetemplate, last => 1); - hook(type => "postscan", id => "po", call => \&postscan); hook(type => "rename", id => "po", call => \&renamepages, first => 1); hook(type => "delete", id => "po", call => \&mydelete); hook(type => "change", id => "po", call => \&change); @@ -55,8 +54,6 @@ sub import { inject(name => "IkiWiki::targetpage", call => \&mytargetpage); $origsubs{'urlto'}=\&IkiWiki::urlto; inject(name => "IkiWiki::urlto", call => \&myurlto); - $origsubs{'nicepagetitle'}=\&IkiWiki::nicepagetitle; - inject(name => "IkiWiki::nicepagetitle", call => \&mynicepagetitle); $origsubs{'cgiurl'}=\&IkiWiki::cgiurl; inject(name => "IkiWiki::cgiurl", call => \&mycgiurl); } @@ -119,20 +116,6 @@ sub getsetup () { safe => 1, rebuild => 1, }, - po_translation_status_in_links => { - type => "boolean", - example => 1, - description => "display translation status in links to translations", - safe => 1, - rebuild => 1, - }, - po_strictly_refresh_backlinks => { - type => "boolean", - example => 1, - description => "refresh a page when a backlinked page is changed (can hit performance)", - safe => 1, - rebuild => 1, - }, } sub checkconfig () { @@ -169,14 +152,6 @@ sub checkconfig () { warn(gettext('po_link_to=negotiated requires usedirs to be enabled, falling back to po_link_to=default')); $config{po_link_to}='default'; } - if (! exists $config{po_translation_status_in_links} || - ! defined $config{po_translation_status_in_links}) { - $config{po_translation_status_in_links}=1; - } - if (! exists $config{po_strictly_refresh_backlinks} || - ! defined $config{po_strictly_refresh_backlinks}) { - $config{po_strictly_refresh_backlinks}=1; - } push @{$config{wiki_file_prune_regexps}}, qr/\.pot$/; } @@ -316,18 +291,6 @@ sub pagetemplate (@) { } } # }}} -sub postscan (@) { - my %params = @_; - - return unless $config{po_strictly_refresh_backlinks}; - - my $page = $params{page}; - # backlinks involve back-dependencies, so that nicepagetitle effects, - # such as translation status displayed in links, are updated - use IkiWiki::Render; - map add_depends($page, $_), keys %{$IkiWiki::backlinks{$page}}; -} - # Add the renamed page translations to the list of to-be-renamed pages. sub renamepages(@) { my %params = @_; @@ -636,18 +599,6 @@ sub myurlto ($$;$) { } } -sub mynicepagetitle ($;$) { - my ($page, $unescaped) = (shift, shift); - - my $res = $origsubs{'nicepagetitle'}->($page, $unescaped); - return $res unless istranslation($page); - return $res unless $config{po_translation_status_in_links}; - my @caller = caller(1); - return $res if (exists $caller[3] && defined $caller[3] - && $caller[3] eq "IkiWiki::Plugin::parentlinks::parentlinks"); - return $res.' ('.percenttranslated($page).' %)'; -} - sub mycgiurl (@) { my %params=@_; diff --git a/doc/plugins/po.mdwn b/doc/plugins/po.mdwn index 2f88a3dfe..b5c5065cd 100644 --- a/doc/plugins/po.mdwn +++ b/doc/plugins/po.mdwn @@ -106,17 +106,6 @@ negotiated preferred language, *i.e.* `foo/page/`. * if the web server does not support Content Negotiation, setting `po_link_to` to `negotiated` will produce a unusable website. -### Links appearance - -When `po_translation_status_in_links` is enabled, the text of a link -to a slave pages displays this page's translation status. - -When the `po_strictly_refresh_backlinks` setting is enabled, a page is -refreshed every time a backlinked page is changed. This updates the -translation status in links, and helps having a consistent translated -wiki. Beware, this make every page depend on every page that links to -it, which can slow everything down and bloat the dependency pagespecs. - Server support ============== @@ -270,13 +259,14 @@ TODO Better links ------------ -### Page title in links - -Using the fix to +Once the fix to [[bugs/pagetitle_function_does_not_respect_meta_titles]] from -[[intrigeri]]'s `meta` branch, the generated links' text is based on -the page titles set with the [[meta|plugins/meta]] plugin. This has to -be merged into ikiwiki upstream, though. +[[intrigeri]]'s `meta` branch is merged into ikiwiki upstream, the +generated links' text will be optionally based on the page titles set +with the [[meta|plugins/meta]] plugin, and will thus be translatable. +It will also allow displaying the translation status in links to slave +pages. Both were implemented, and reverted in commit **FIXME**, which +should be reverted once [[intrigeri]]'s `meta` branch is merged. Robustness tests ----------------