po: remove all dependencies on nicepagetitle
authorintrigeri <intrigeri@boum.org>
Tue, 27 Jan 2009 16:52:32 +0000 (17:52 +0100)
committerintrigeri <intrigeri@boum.org>
Tue, 27 Jan 2009 16:52:32 +0000 (17:52 +0100)
... 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>
IkiWiki/Plugin/po.pm
doc/plugins/po.mdwn

index 6c6bb2cd140af1d52fd280cdc43e5da217e86ebb..9a3df79ac2fd2498a56801c624f722a2f9d435b8 100644 (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 => "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);
        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);
        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);
 }
        $origsubs{'cgiurl'}=\&IkiWiki::cgiurl;
        inject(name => "IkiWiki::cgiurl", call => \&mycgiurl);
 }
@@ -119,20 +116,6 @@ sub getsetup () {
                        safe => 1,
                        rebuild => 1,
                },
                        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 () {
 }
 
 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';
        }
                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$/;
 }
 
        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 = @_;
 # 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=@_;
 
 sub mycgiurl (@) {
        my %params=@_;
 
index 2f88a3dfe725194c5e4986e2280a96c479892ee9..b5c5065cd48edb3adaf9bce327ca5737519e5672 100644 (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.
 
 * 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
 ==============
 
 Server support
 ==============
 
@@ -270,13 +259,14 @@ TODO
 Better links
 ------------
 
 Better links
 ------------
 
-### Page title in links
-
-Using the fix to
+Once the fix to
 [[bugs/pagetitle_function_does_not_respect_meta_titles]] from
 [[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
 ----------------
 
 Robustness tests
 ----------------