reviewed this again
parent
73c7c4ebf7
commit
8cafbc5de6
|
@ -46,11 +46,13 @@ being edited.
|
||||||
|
|
||||||
Plugins should, when imported, call `hook()` to hook into ikiwiki's
|
Plugins should, when imported, call `hook()` to hook into ikiwiki's
|
||||||
processing. The function uses named parameters, and use varies depending on
|
processing. The function uses named parameters, and use varies depending on
|
||||||
the type of hook being registered -- see below. Note that a plugin can call
|
the type of hook being registered -- see below. A plugin can call
|
||||||
the function more than once to register multiple hooks. All calls to
|
the function more than once to register multiple hooks.
|
||||||
`hook()` should be passed a "type" parameter, which gives the type of
|
|
||||||
hook, a "id" paramter, which should be a unique string for this plugin, and
|
All calls to `hook()` should be passed a "type" parameter, which gives the
|
||||||
a "call" parameter, which tells what function to call for the hook.
|
type of hook, a "id" parameter, which should be a unique string for this
|
||||||
|
plugin, and a "call" parameter, which tells what function to call for the
|
||||||
|
hook.
|
||||||
|
|
||||||
An optional "last" parameter, if set to a true value, makes the hook run
|
An optional "last" parameter, if set to a true value, makes the hook run
|
||||||
after all other hooks of its type. Useful if the hook depends on some other
|
after all other hooks of its type. Useful if the hook depends on some other
|
||||||
|
@ -99,6 +101,18 @@ built when the wiki is refreshed. The function is passed a reference to an
|
||||||
array of pages that will be rebuilt, and can modify the array, either
|
array of pages that will be rebuilt, and can modify the array, either
|
||||||
adding or removing files from it.
|
adding or removing files from it.
|
||||||
|
|
||||||
|
### scan
|
||||||
|
|
||||||
|
hook(type => "scan", id => "foo", call => \&scan);
|
||||||
|
|
||||||
|
This hook is called early in the process of building the wiki, and is used
|
||||||
|
as a first pass scan of the page, to collect metadata about the page. It's
|
||||||
|
mostly used to scan the page for WikiLinks, and add them to `%links`.
|
||||||
|
Present in IkiWiki 2.40 and later.
|
||||||
|
|
||||||
|
The function is passed named parameters "page" and "content". Its return
|
||||||
|
value is ignored.
|
||||||
|
|
||||||
### filter
|
### filter
|
||||||
|
|
||||||
hook(type => "filter", id => "foo", call => \&filter);
|
hook(type => "filter", id => "foo", call => \&filter);
|
||||||
|
@ -154,23 +168,11 @@ and later.
|
||||||
Plugins that implement linkify must also implement a scan hook, that scans
|
Plugins that implement linkify must also implement a scan hook, that scans
|
||||||
for the links on the page and adds them to `%links`.
|
for the links on the page and adds them to `%links`.
|
||||||
|
|
||||||
### scan
|
|
||||||
|
|
||||||
hook(type => "scan", id => "foo", call => \&scan);
|
|
||||||
|
|
||||||
This hook is called early in the process of building the wiki, and is used
|
|
||||||
as a first pass scan of the page, to collect metadata about the page. It's
|
|
||||||
mostly used to scan the page for WikiLinks, and add them to `%links`.
|
|
||||||
Present in IkiWiki 2.40 and later.
|
|
||||||
|
|
||||||
The function is passed named parameters "page" and "content". Its return
|
|
||||||
value is ignored.
|
|
||||||
|
|
||||||
### htmlize
|
### htmlize
|
||||||
|
|
||||||
hook(type => "htmlize", id => "ext", call => \&htmlize);
|
hook(type => "htmlize", id => "ext", call => \&htmlize);
|
||||||
|
|
||||||
Runs on the raw source of a page and turns it into html. The id parameter
|
Runs on the source of a page and turns it into html. The id parameter
|
||||||
specifies the filename extension that a file must have to be htmlized using
|
specifies the filename extension that a file must have to be htmlized using
|
||||||
this plugin. This is how you can add support for new and exciting markup
|
this plugin. This is how you can add support for new and exciting markup
|
||||||
languages to ikiwiki.
|
languages to ikiwiki.
|
||||||
|
@ -258,9 +260,9 @@ state is loaded, and with no session information.
|
||||||
|
|
||||||
hook(type => "auth", id => "foo", call => \&auth);
|
hook(type => "auth", id => "foo", call => \&auth);
|
||||||
|
|
||||||
This hook can be used to implement a different authentication method than
|
This hook can be used to implement an authentication method. When a user
|
||||||
the standard web form. When a user needs to be authenticated, each registered
|
needs to be authenticated, each registered auth hook is called in turn, and
|
||||||
auth hook is called in turn, and passed a CGI object and a session object.
|
passed a CGI object and a session object.
|
||||||
|
|
||||||
If the hook is able to authenticate the user, it should set the session
|
If the hook is able to authenticate the user, it should set the session
|
||||||
object's "name" parameter to the authenticated user's name. Note that
|
object's "name" parameter to the authenticated user's name. Note that
|
||||||
|
@ -331,7 +333,7 @@ called. It can be used to validate the form, but should not display it.
|
||||||
|
|
||||||
hook(type => "savestate", id => "foo", call => \&savestate);
|
hook(type => "savestate", id => "foo", call => \&savestate);
|
||||||
|
|
||||||
This hook is called wheneven ikiwiki normally saves its state, just before
|
This hook is called whenever ikiwiki normally saves its state, just before
|
||||||
the state is saved. The function can save other state, modify values before
|
the state is saved. The function can save other state, modify values before
|
||||||
they're saved, etc.
|
they're saved, etc.
|
||||||
|
|
||||||
|
@ -339,7 +341,7 @@ they're saved, etc.
|
||||||
|
|
||||||
To import the ikiwiki plugin interface:
|
To import the ikiwiki plugin interface:
|
||||||
|
|
||||||
use IkiWiki '1.00';
|
use IkiWiki '2.00';
|
||||||
|
|
||||||
This will import several variables and functions into your plugin's
|
This will import several variables and functions into your plugin's
|
||||||
namespace. These variables and functions are the ones most plugins need,
|
namespace. These variables and functions are the ones most plugins need,
|
||||||
|
@ -411,8 +413,8 @@ function that is called after the error message is printed, to do any final
|
||||||
cleanup.
|
cleanup.
|
||||||
|
|
||||||
Note that while any plugin can use this for a fatal error, plugins should
|
Note that while any plugin can use this for a fatal error, plugins should
|
||||||
try to avoid dying on bad input, as that will halt the entire wiki build
|
try to avoid dying on bad input when building a page, as that will halt
|
||||||
and make the wiki unusable. So for example, if a
|
the entire wiki build and make the wiki unusable. So for example, if a
|
||||||
[[ikiwiki/PreProcessorDirective]] is passed bad parameters, it's better to
|
[[ikiwiki/PreProcessorDirective]] is passed bad parameters, it's better to
|
||||||
return an error message, which can appear on the wiki page, rather than
|
return an error message, which can appear on the wiki page, rather than
|
||||||
calling error().
|
calling error().
|
||||||
|
|
Loading…
Reference in New Issue