X-Git-Url: https://sipb.mit.edu/gitweb.cgi/ikiwiki.git/blobdiff_plain/92ffe3446ff78cf7892d0900e6cfd4646655c9e1..57d12405ae474d27c63dc33ee5fa642a2c5d7461:/doc/plugins/write.mdwn diff --git a/doc/plugins/write.mdwn b/doc/plugins/write.mdwn index 2a43ad249..a4e800c58 100644 --- a/doc/plugins/write.mdwn +++ b/doc/plugins/write.mdwn @@ -69,6 +69,13 @@ Each time a page or pages is removed from the wiki, the referenced function is c Each time ikiwiki renders a change or addition (but not deletion) of a page to the wiki, the referenced function is called, and passed the name of the source file that was rendered. +### cgi + + IkiWiki::hook(type => "cgi", id => "foo", call => \&cgi); + +Use this to hook into ikiwiki's cgi script. Each registered cgi hook is called +in turn, and passed a CGI object. The hook should examine the parameters, and if it will handle this CGI request, output a page and terminate the program. + ## Wiki configuration A plugin can access the wiki's configuration via the `%IkiWiki::config` hash. @@ -95,12 +102,21 @@ use the following hashes, using a page name as the key: it is by using the IkiWiki::add_depends function, which takes as its parameters the page name and a [[GlobList]] of dependencies to add. +## Page templates + +Plugins are mostly limited to changing the content of pages, to change the look and feel of the wiki it's generally better to use a stylesheet and [[templates]]. However, there are some hooks in the templates that plugins can use to add stuff to the wiki's UI: + +### Adding content to the page header + +Html that is added to $IkiWiki::config{headercontent} will show up in the +header of the page. One good thing to put here is a search form. + ## RCS plugins ikiwiki's support for revision control systems 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. +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. +rcs\_getctime does nothing except for throwing an error.