and undef if a rebuild could be needed in some circumstances, but is not
strictly required.
+### targetpage
+
+ hook(type => "targetpage", id => "foo", call => \&targetpage);
+
+This hook can be used to override the name of the file a page should
+be compiled into.
+
+It should return the target filename.
+
+### tweakurlpath
+
+ hook(type => "tweakurlpath", id => "foo", call => \&tweakurlpath);
+
+This hook can be used to modify the internal urls generated by
+ikiwiki; it is run just after ikiwiki has removed the trailing
+`index.html`, in case `usedirs` is enabled.
+
+It should return the modified url.
+
## Plugin interface
To import the ikiwiki plugin interface:
#### `rcs_receive()`
This is called when ikiwiki is running as a pre-receive hook (or
-equivilant), and is testing if changes pushed into the RCS from an
+equivalent), and is testing if changes pushed into the RCS from an
untrusted user should be accepted. This is optional, and doesn't make
sense to implement for all RCSs.
file => # name of file that was changed
action => # either "add", "change", or "remove"
path => # temp file containing the new file content, only
- # needed for "add", and only if the file is an
- # attachment, not a page
+ # needed for "add"/"change", and only if the file
+ # is an attachment, not a page
}
The list will then be checked to make sure that each change is one that