summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--IkiWiki/Plugin/po.pm15
-rw-r--r--doc/plugins/po.mdwn18
2 files changed, 29 insertions, 4 deletions
diff --git a/IkiWiki/Plugin/po.pm b/IkiWiki/Plugin/po.pm
index 230ecbb8d..6f716a91f 100644
--- a/IkiWiki/Plugin/po.pm
+++ b/IkiWiki/Plugin/po.pm
@@ -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;
diff --git a/doc/plugins/po.mdwn b/doc/plugins/po.mdwn
index e8cb9a5dc..2f88a3dfe 100644
--- a/doc/plugins/po.mdwn
+++ b/doc/plugins/po.mdwn
@@ -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
==============