web commit by joey
[ikiwiki] / doc / plugins.mdwn
1 Plugins can be used to add additional features to ikiwiki. The interface is quite flexible, allowing plugins to register [[PreProcessorDirective]]s, hook into [[CGI]] mode, and more. Ikiwiki's backend RCS support is also pluggable, so support for new revision control systems can be added to ikiwiki. 
2
3 There's documentation if you want to [[write]] your own plugins, or you can install and use plugins contributed by others. 
4
5 The ikiwiki package includes some standard plugins that are installed and
6 by default. These include [[inline]], [[pagecount]], and [[brokenlinks]].
7 Of these, [[inline]] is enabled by default.
8
9 To enable other plugins, use the `--plugin` switch described in [[usage]],
10 or the equivalent line in [[ikiwiki.setup]].
11
12 ## Plugin directory
13
14 Add your contributed plugins here.
15
16 [[inline pages="plugins/* !plugins/write !*/Discussion" archive="yes" rootpage="plugins/contrib" show="30"]]
17
18 ## Installing third party plugins
19
20 Plugins are perl modules and should be installed somewhere in the perl
21 module search path. See the @INC list at the end of the output of `perl -V`
22 for a list of the directories in that path. All plugins are in the
23 IkiWiki::Plugin namespace, so they go in a IkiWiki/Plugin subdirectory
24 inside the perl search path. For example, if your perl looks in
25 `/usr/local/lib/site_perl` for modules, you can locally install ikiwiki
26 plugins to `/usr/local/lib/site_perl/IkiWiki/Plugin`