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 <intrigeri@boum.org>
master
intrigeri 2009-01-27 17:52:32 +01:00
parent 51badc960d
commit ea753782b2
2 changed files with 7 additions and 66 deletions

View File

@ -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).'&nbsp;%)';
}
sub mycgiurl (@) {
my %params=@_;

View File

@ -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
----------------