X-Git-Url: https://sipb.mit.edu/gitweb.cgi/ikiwiki.git/blobdiff_plain/5611842d3c461fbfcf2bb3a2d35585e2e5769b68..f960890343d95b6c437c7e3108129b00cb0168fb:/doc/plugins/write.mdwn diff --git a/doc/plugins/write.mdwn b/doc/plugins/write.mdwn index bbe047d33..4ec9e8c7b 100644 --- a/doc/plugins/write.mdwn +++ b/doc/plugins/write.mdwn @@ -148,7 +148,7 @@ return the htmlized content. hook(type => "pagetemplate", id => "foo", call => \&pagetemplate); -[[Templates|wikitemplate]] are filled out for many different things in +[[Templates|wikitemplates]] are filled out for many different things in ikiwiki, like generating a page, or part of a blog page, or an rss feed, or a cgi. This hook allows modifying the variables available on those templates. The function is passed named parameters. The "page" and @@ -251,6 +251,17 @@ by this hook, the hook should return an error message for the user to see. If the hook has no opinion about whether the edit can proceed, return `undef`, and the next plugin will be asked to decide. +### editcontent + + hook(type => "editcontent", id => "foo", call => \&editcontent); + +This hook is called when a page is saved (or previewed) using the web +interface. It is passed named parameters: `content`, `page`, `cgi`, and +`session`. These are, respectively, the new page content as entered by the +user, the page name, a `CGI` object, and the user's `CGI::Session`. + +It can modify the content as desired, and should return the content. + ### formbuilder hook(type => "formbuilder_setup", id => "foo", call => \&formbuilder_setup); @@ -450,8 +461,16 @@ that corresponds to that file. #### `srcfile($)` Given the name of a source file in the wiki, searches for the file in -the source directory and the underlay directory, and returns the full -path to the first file found. +the source directory and the underlay directories (most recently added +underlays first), and returns the full path to the first file found. + +#### `add_underlay($)` + +Adds a directory to the set of underlay directories that ikiwiki will +search for files. + +If the directory name is not absolute, ikiwiki will assume it is in +the parent directory of the configured underlaydir. #### `displaytime($)` @@ -474,15 +493,15 @@ rendered to. ## RCS plugins -ikiwiki's support for revision control systems also uses pluggable perl -modules. These are in the `IkiWiki::RCS` namespace, for example +ikiwiki's support for [[revision_control_systems|rcs]] also uses pluggable +perl modules. These are in the `IkiWiki::RCS` namespace, for example `IkiWiki::RCS::svn`. Each RCS plugin must support all the `IkiWiki::rcs_*` functions. See IkiWiki::RCS::Stub for the full list of functions. It's ok if `rcs_getctime` does nothing except for throwing an error. -See [[about_RCS_backends]] for some more info. +See [[RCS_details|rcs/details]] for some more info. ## PageSpec plugins