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
parent
51badc960d
commit
ea753782b2
|
@ -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=@_;
|
||||
|
||||
|
|
|
@ -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
|
||||
----------------
|
||||
|
|
Loading…
Reference in New Issue