Merge pull request #996 from marcelklehr/doc/hook-return-values

Document, how return values of hooks are handled.
pull/998/head
John McLear 2012-09-12 10:37:28 -07:00
commit f3abe6e970
4 changed files with 12 additions and 11 deletions

View File

@ -1,6 +1,6 @@
# API
@include embed_parameters
@include http_api
@include hooks
@include hooks_client-side
@include hooks_server-side
@include editorInfo

11
doc/api/hooks.md Normal file
View File

@ -0,0 +1,11 @@
# Hooks
All hooks are called with two arguments:
1. name - the name of the hook being called
2. context - an object with some relevant information about the context of the call
## Return values
A hook should always return a list or undefined. Returning undefined is equivalent to returning an empty list.
All the returned lists are appended to each other, so if the return values where `[1, 2]`, `undefined`, `[3, 4,]`, `undefined` and `[5]`, the value returned by callHook would be `[1, 2, 3, 4, 5]`.
This is, because it should never matter if you have one plugin or several plugins doing some work - a single plugin should be able to make callHook return the same value a set of plugins are able to return collectively. So, any plugin can return a list of values, of any length, not just one value.

View File

@ -1,11 +1,6 @@
# Client-side hooks
Most of these hooks are called during or in order to set up the formatting process.
All hooks registered to these events are called with two arguments:
1. name - the name of the hook being called
2. context - an object with some relevant information about the context of the call
## documentReady
Called from: src/templates/pad.html

View File

@ -1,11 +1,6 @@
# Server-side hooks
These hooks are called on server-side.
All hooks registered to these events are called with two arguments:
1. name - the name of the hook being called
2. context - an object with some relevant information about the context of the call
## loadSettings
Called from: src/node/server.js