- 'size' => the size of the avatar that will be looked up
- 'email' => email to look up the avatar for
- 'url' => the (string) generated URL of the avatar
-
-### 'emailer_send_prepare'
-'emailer_send_prepare' called from Emailer::send() before building the mime message.
-$b is an array, params to Emailer::send()
-
- 'fromName' => name of the sender
- 'fromEmail' => email fo the sender
- 'replyTo' => replyTo address to direct responses
- 'toEmail' => destination email address
- 'messageSubject' => subject of the message
- 'htmlVersion' => html version of the message
- 'textVersion' => text only version of the message
- 'additionalMailHeader' => additions to the smtp mail header
-
-### 'emailer_send'
-is called before calling PHP's mail().
-$b is an array, params to mail()
-
- 'to'
- 'subject'
- 'body'
- 'headers'
-
-### 'nav_info'
-is called after the navigational menu is build in include/nav.php.
-$b is an array containing $nav from nav.php.
-
-### 'template_vars'
-is called before vars are passed to the template engine to render the page.
-The registered function can add,change or remove variables passed to template.
-$b is an array with:
+- **item** (input/output): item array
+
+### prepare_body_content_filter
+Called before the HTML conversion in prepare_body. If the item matches a content filter rule set by an addon, it should
+just add the reason to the filter_reasons element of the hook data.
+Hook data:
+
+- **item**: item array (input)
+- **filter_reasons** (input/output): reasons array
+
+### prepare_body
+Called after the HTML conversion in `prepare_body()`.
+Hook data:
+
+- **item** (input): item array
+- **html** (input/output): converted item body
+- **is_preview** (input): post preview flag
+- **filter_reasons** (input): reasons array
+
+### prepare_body_final
+Called at the end of `prepare_body()`.
+Hook data:
+
+- **item**: item array (input)
+- **html**: converted item body (input/output)
+
+### put_item_in_cache
+Called after `prepare_text()` in `put_item_in_cache()`.
+Hook data:
+
+- **item** (input): item array
+- **rendered-html** (input/output): final item body HTML
+- **rendered-hash** (input/output): original item body hash
+
+### magic_auth_success
+Called when a magic-auth was successful.
+Hook data:
+
+ visitor => array with the contact record of the visitor
+ url => the query string
+
+### jot_networks
+Called when displaying the post permission screen.
+Hook data is a list of form fields that need to be displayed along the ACL.
+Form field array structure is:
+
+- **type**: `checkbox` or `select`.
+- **field**: Standard field data structure to be used by `field_checkbox.tpl` and `field_select.tpl`.
+
+For `checkbox`, **field** is:
+ - [0] (String): Form field name; Mandatory.
+ - [1]: (String): Form field label; Optional, default is none.
+ - [2]: (Boolean): Whether the checkbox should be checked by default; Optional, default is false.
+ - [3]: (String): Additional help text; Optional, default is none.
+ - [4]: (String): Additional HTML attributes; Optional, default is none.
+
+For `select`, **field** is:
+ - [0] (String): Form field name; Mandatory.
+ - [1] (String): Form field label; Optional, default is none.
+ - [2] (Boolean): Default value to be selected by default; Optional, default is none.
+ - [3] (String): Additional help text; Optional, default is none.
+ - [4] (Array): Associative array of options. Item key is option value, item value is option label; Mandatory.
+
+### route_collection
+Called just before dispatching the router.
+Hook data is a `\FastRoute\RouterCollector` object that should be used to add addon routes pointing to classes.
+
+**Notice**: The class whose name is provided in the route handler must be reachable via auto-loader.
+
+### probe_detect
+
+Called before trying to detect the target network of a URL.
+If any registered hook function sets the `result` key of the hook data array, it will be returned immediately.
+Hook functions should also return immediately if the hook data contains an existing result.
+
+Hook data:
+
+- **uri** (input): the profile URI.
+- **network** (input): the target network (can be empty for auto-detection).
+- **uid** (input): the user to return the contact data for (can be empty for public contacts).
+- **result** (output): Set by the hook function to indicate a successful detection.
+
+## Complete list of hook callbacks
+
+Here is a complete list of all hook callbacks with file locations (as of 24-Sep-2018). Please see the source for details of any hooks not documented above.
+
+### index.php
+
+ Hook::callAll('init_1');
+ Hook::callAll('app_menu', $arr);
+ Hook::callAll('page_content_top', DI::page()['content']);
+ Hook::callAll($a->module.'_mod_init', $placeholder);
+ Hook::callAll($a->module.'_mod_init', $placeholder);
+ Hook::callAll($a->module.'_mod_post', $_POST);
+ Hook::callAll($a->module.'_mod_afterpost', $placeholder);
+ Hook::callAll($a->module.'_mod_content', $arr);
+ Hook::callAll($a->module.'_mod_aftercontent', $arr);
+ Hook::callAll('page_end', DI::page()['content']);
+
+### include/api.php
+
+ Hook::callAll('logged_in', $a->user);
+ Hook::callAll('authenticate', $addon_auth);
+ Hook::callAll('logged_in', $a->user);
+
+### include/enotify.php
+
+ Hook::callAll('enotify', $h);
+ Hook::callAll('enotify_store', $datarray);
+ Hook::callAll('enotify_mail', $datarray);
+ Hook::callAll('check_item_notification', $notification_data);
+
+### include/conversation.php
+
+ Hook::callAll('conversation_start', $cb);
+ Hook::callAll('render_location', $locate);
+ Hook::callAll('display_item', $arr);
+ Hook::callAll('display_item', $arr);
+ Hook::callAll('item_photo_menu', $args);
+ Hook::callAll('jot_tool', $jotplugins);
+
+### mod/directory.php
+
+ Hook::callAll('directory_item', $arr);
+
+### mod/xrd.php
+
+ Hook::callAll('personal_xrd', $arr);
+
+### mod/ping.php
+
+ Hook::callAll('network_ping', $arr);
+
+### mod/parse_url.php
+
+ Hook::callAll("parse_link", $arr);
+
+### src/Module/Delegation.php
+
+ Hook::callAll('home_init', $ret);
+
+### mod/acl.php
+
+ Hook::callAll('acl_lookup_end', $results);
+
+### mod/network.php
+
+ Hook::callAll('network_content_init', $arr);
+ Hook::callAll('network_tabs', $arr);
+
+### mod/friendica.php
+
+ Hook::callAll('about_hook', $o);
+
+### mod/subthread.php
+
+ Hook::callAll('post_local_end', $arr);