X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/bd94a95ccd69e48b4c31b0440223edce97349000..e739073c386603bbaac05f409381b58761942597:/doc/plugins/write.mdwn?ds=inline diff --git a/doc/plugins/write.mdwn b/doc/plugins/write.mdwn index c42660194..0eef3d2ba 100644 --- a/doc/plugins/write.mdwn +++ b/doc/plugins/write.mdwn @@ -20,6 +20,8 @@ being edited. ## Registering plugins All plugins should `use IkiWiki` to import the ikiwiki plugin interface. +It's a good idea to include the version number of the plugin interface that +your plugin expects: `use IkiWiki 2.00` Plugins should, when imported, call `hook()` to hook into ikiwiki's processing. The function uses named parameters, and use varies depending on @@ -266,9 +268,9 @@ use the following hashes, using a page name as the key: * `links` lists the names of each page that a page links to, in an array reference. -* `%renderedfiles` lists names of the files rendered by a page, in an array - reference. -* `%pagesources` contains the name of the source file for a page. +* `%destsources` contains the name of the source file used to create each + destination file. +* `%pagesources` contains the name of the source file for each page. Also, the %IkiWiki::version variable contains the version number for the ikiwiki program. @@ -316,12 +318,15 @@ page created from it. (Ie, it appends ".html".) Makes the specified page depend on the specified [[PageSpec]]. -#### `pagespec_match($$;$)` +#### `pagespec_match($$;@)` + +Passed a page name, and [[PageSpec]], returns true if the [[PageSpec]] +matches the page. -Passed a page name, a [[PageSpec]], and the location the [[PageSpec]] should -be matched against, returns true if the [[PageSpec]] matches the page. (If -the third parameter is not passed, relative PageSpecs will match relative to -the top of the wiki.) +Additional named parameters can be passed, to further limit the match. +The most often used is "location", which specifies the location the +PageSpec should match against. If not passed, relative PageSpecs will match +relative to the top of the wiki. #### `bestlink($$)` @@ -441,6 +446,7 @@ It's also possible to write plugins that add new functions to [[PageSpecs|PageSpec]]. Such a plugin should add a function to the IkiWiki::PageSpec package, that is named `match_foo`, where "foo()" is how it will be accessed in a [[PageSpec]]. The function will be passed -three parameters: The name of the page being matched, the thing to match -against, and the page that the matching is occuring on. It should return -true if the page matches. +two parameters: The name of the page being matched, and the thing to match +against. It may also be passed additional, named parameters. It should return +a IkiWiki::SuccessReason object if the match succeeds, or an +IkiWiki::FailReason object if the match fails.