web commit by joey
authorwww-data <www-data@0fa5a96a-9a0e-0410-b3b2-a0fd24251071>
Wed, 3 May 2006 21:03:35 +0000 (21:03 +0000)
committerwww-data <www-data@0fa5a96a-9a0e-0410-b3b2-a0fd24251071>
Wed, 3 May 2006 21:03:35 +0000 (21:03 +0000)
doc/plugins/write.mdwn

index 2a43ad24904c8a353ff3b948c95924e88408b5a4..83ceff5ed6bb7f2207e577d4cac7697f17a50ec6 100644 (file)
@@ -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,6 +102,15 @@ 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