aboutsummaryrefslogtreecommitdiff
path: root/doc/plugins/write.mdwn
diff options
context:
space:
mode:
authorSimon McVittie <smcv@debian.org>2012-03-18 17:34:39 +0000
committerSimon McVittie <smcv@debian.org>2012-03-18 17:34:39 +0000
commit24168b993e65994d2996d02bfaa36fb80bb65ca7 (patch)
tree9a7480f1deb2222e4b80289bdc7e4697f084d06e /doc/plugins/write.mdwn
parent63bb8b42f76e350cdf7a1256ad0fe7ad63199f63 (diff)
downloadikiwiki-24168b993e65994d2996d02bfaa36fb80bb65ca7.tar
ikiwiki-24168b993e65994d2996d02bfaa36fb80bb65ca7.tar.gz
Add a build_affected hook so trail doesn't have to inject
In principle, building any pages affected by links, backlinks etc. could work the same way.
Diffstat (limited to 'doc/plugins/write.mdwn')
-rw-r--r--doc/plugins/write.mdwn16
1 files changed, 16 insertions, 0 deletions
diff --git a/doc/plugins/write.mdwn b/doc/plugins/write.mdwn
index dcab041dc..d62ab6e63 100644
--- a/doc/plugins/write.mdwn
+++ b/doc/plugins/write.mdwn
@@ -356,6 +356,22 @@ when the page is being previewed.)
The function is passed named parameters: "page" and "content", and
should return the formatted content.
+### build_affected
+
+ hook(type => "build_affected", id => "foo", call => \&build_affected);
+
+This hook is called after the directly changed pages have been built,
+and can cause extra pages to be built. If links and backlinks were provided
+by a plugin, this would be where that plugin would rebuild pages whose
+backlinks have changed, for instance. The [[trail]] plugin uses this hook
+to rebuild pages whose next or previous page has changed.
+
+The function should currently ignore its parameters. It returns a list with
+an even number of items (a hash in list context), where the first item of
+each pair is a page name to be rebuilt (if it was not already rebuilt), and
+the second is a log message resembling
+`building plugins/write because the phase of the moon has changed`.
+
### delete
hook(type => "delete", id => "foo", call => \&delete);