]> sipb.mit.edu Git - ikiwiki.git/commitdiff
po: make the "backlinks involve dependencies" feature optional
authorintrigeri <intrigeri@boum.org>
Mon, 26 Jan 2009 23:19:41 +0000 (00:19 +0100)
committerintrigeri <intrigeri@boum.org>
Mon, 26 Jan 2009 23:25:46 +0000 (00:25 +0100)
It can now be configured with the po_strictly_refresh_backlinks setting.

Signed-off-by: intrigeri <intrigeri@boum.org>
IkiWiki/Plugin/po.pm
doc/plugins/po.mdwn

index 230ecbb8ded8aea154dd66a81da1dd5da953f1ad..6f716a91f2a741253141b998e30aed74eb3fc83b 100644 (file)
@@ -126,6 +126,13 @@ sub getsetup () {
                        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 () {
@@ -166,6 +173,10 @@ sub checkconfig () {
            ! 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$/;
 }
 
@@ -307,8 +318,10 @@ sub pagetemplate (@) {
 
 sub postscan (@) {
        my %params = @_;
-       my $page = $params{page};
 
+       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;
index e8cb9a5dc808dd45570369c00bf2b5ba0149cf6e..2f88a3dfe725194c5e4986e2280a96c479892ee9 100644 (file)
@@ -72,17 +72,19 @@ worry about excluding them explicitly from this [[ikiwiki/PageSpec]].
 Internal links
 --------------
 
+### Links targets
+
 The `po_link_to` option in `ikiwiki.setup` is used to decide how
 internal links should be generated, depending on web server features
 and site-specific preferences.
 
-### Default linking behavior
+#### Default linking behavior
 
 If `po_link_to` is unset, or set to `default`, ikiwiki's default
 linking behavior is preserved: `\[[destpage]]` links to the master
 language's page.
 
-### Link to current language
+#### Link to current language
 
 If `po_link_to` is set to `current`, `\[[destpage]]` links to the
 `destpage`'s version written in the current page's language, if
@@ -91,7 +93,7 @@ available, *i.e.*:
 * `foo/destpage/index.LL.html` if `usedirs` is enabled
 * `foo/destpage.LL.html` if `usedirs` is disabled
 
-### Link to negotiated language
+#### Link to negotiated language
 
 If `po_link_to` is set to `negotiated`, `\[[page]]` links to the
 negotiated preferred language, *i.e.* `foo/page/`.
@@ -104,6 +106,16 @@ 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
 ==============