diff --git a/docs/hooks/hook_civicrm_links.md b/docs/hooks/hook_civicrm_links.md
index f38e637958da5085b1bcfda081e377629755a1a3..9199a4bbdf4552a6accce454586f34878092f1ee 100644
--- a/docs/hooks/hook_civicrm_links.md
+++ b/docs/hooks/hook_civicrm_links.md
@@ -30,21 +30,29 @@ hook_civicrm_links($op, $objectName, $objectId, &$links, &$mask, &$values)
 -   array `$links` - the links to modify in place
 
     each item in the array may have:
+
     -   `name`: the link text
+
     -   `url`: the link URL base path (like `civicrm/contact/view`, and
         fillable from `$values`)
+
     -   `qs`: the link URL query parameters to be used by sprintf() with
         $values (like `reset=1&cid=%%id%%` when `$values['id']` is the
         contact ID)
+
     -   `title` (optional): the text that appears when hovering over the
         link
+
     -   `extra` (optional): additional attributes for the `<a>` tag
         (fillable from `$values`)
+
     -   `bit` (optional): a binary number that will be fitered by $mask
         (sending nothing as `$links['bit']` means the link will always
         display)
+
     -   `ref` (optional, recommended): a CSS class to apply to the `<a>`
         tag.
+
     -   `class` (optional): Any other CSS classes to apply to the `<a>`
         tag (e.g. no-popup).
 
@@ -60,7 +68,7 @@ hook_civicrm_links($op, $objectName, $objectId, &$links, &$mask, &$values)
 ## Examples
 
 ```php
-function MODULENAME_civicrm_links( $op, $objectName, $objectId, &$links, &$mask, &$values ) {
+function MODULENAME_civicrm_links($op, $objectName, $objectId, &$links, &$mask, &$values) {
   $myLinks = array();
   switch ($objectName) {
     case 'Contact':
@@ -89,11 +97,12 @@ function MODULENAME_civicrm_links( $op, $objectName, $objectId, &$links, &$mask,
 
         case 'create.new.shorcuts':
           // add link to create new profile
-           $links[] = array(
-            'url'   => '/civicrm/admin/uf/group?action=add&reset=1',
-            'name' => ts('New Profile'), // old extensions using 'title' will still work
-           );
-           break;
+          $links[] = array(
+            'url' => '/civicrm/admin/uf/group?action=add&reset=1',
+            'name' => ts('New Profile'),
+             // old extensions using 'title' will still work
+          );
+          break;
       }
   }
   return $myLinks;
@@ -104,7 +113,7 @@ Adding contextual links to the rows of a contact's Events tab and Find
 Participants search result
 
 ```php
-function mymodule_civicrm_links( $op, $objectName, $objectId, &$links, &$mask, &$values ) {
+function mymodule_civicrm_links($op, $objectName, $objectId, &$links, &$mask, &$values) {
   //create a Send Invoice link with the context of the participant's order ID (a custom participant field)
   switch ($objectName) {
     case 'Participant':
@@ -129,11 +138,11 @@ function mymodule_civicrm_links( $op, $objectName, $objectId, &$links, &$mask, &
           }
 
           $links[] = array(
-              'name' => ts('Send Invoice'),
-              'title' => ts('Send Invoice'),
-              'url' => 'civicrm/activity/email/add',
-              'qs' => "action=add&reset=1&cid=$cid&selectedChild=activity&atype=3&order_id=$order_id"
-            );
+            'name' => ts('Send Invoice'),
+            'title' => ts('Send Invoice'),
+            'url' => 'civicrm/activity/email/add',
+            'qs' => "action=add&reset=1&cid=$cid&selectedChild=activity&atype=3&order_id=$order_id",
+          );
           break;
       }
   }
diff --git a/docs/hooks/hook_civicrm_membershipTypeValues.md b/docs/hooks/hook_civicrm_membershipTypeValues.md
index 29c59fdc42840faabdec5f180bcd794b74abf44f..e65c1e5ff7f8ecfb6e7df419bde3de6f2d6436bb 100644
--- a/docs/hooks/hook_civicrm_membershipTypeValues.md
+++ b/docs/hooks/hook_civicrm_membershipTypeValues.md
@@ -12,7 +12,7 @@ the form and use it to alter the fees).
 ## Definition
 
 ```php
-hook_civicrm_membershipTypeValues( &$form, &$membershipTypeValues ) {
+hook_civicrm_membershipTypeValues(&$form, &$membershipTypeValues)
 ```
 
 ## Parameters
@@ -25,7 +25,7 @@ hook_civicrm_membershipTypeValues( &$form, &$membershipTypeValues ) {
 Give a 50% discount to some memberships in the sample data
 
 ```php
-function civitest_civicrm_membershipTypeValues( &$form, &$membershipTypeValues ) {
+function civitest_civicrm_membershipTypeValues(&$form, &$membershipTypeValues) {
   $membershipTypeValues[1]['name'] = 'General (50% discount)';
   $membershipTypeValues[1]['minimum_fee'] = '50.00';
 
diff --git a/mkdocs.yml b/mkdocs.yml
index 073a5e6905823bbef5a5d5b9b882c190e2b6b790..fce6df51b9decf11deb99ed35d1d05ae4d58c99d 100644
--- a/mkdocs.yml
+++ b/mkdocs.yml
@@ -82,36 +82,50 @@ pages:
   - hookref-old: hookref-old.md
 - Hooks:
   - Using hooks: hooks.md                        # page-tree = NEED_PAGE_MOVE to /hooks/usage.md
+  - Batch hooks:
+    - hook_civicrm_batchItems: hooks/hook_civicrm_batchItems.md
+    - hook_civicrm_batchQuery: hooks/hook_civicrm_batchQuery.md
+  - Case hooks:
+    - hook_civicrm_caseChange: hooks/hook_civicrm_caseChange.md
+    - hook_civicrm_caseTypes: hooks/hook_civicrm_caseTypes.md
+    - hook_civicrm_post_case_merge: hooks/hook_civicrm_post_case_merge.md
+    - hook_civicrm_pre_case_merge: hooks/hook_civicrm_pre_case_merge.md
   - Database hooks:
     - hook_civicrm_copy: hooks/hook_civicrm_copy.md
     - hook_civicrm_custom: hooks/hook_civicrm_custom.md
     - hook_civicrm_managed: hooks/hook_civicrm_managed.md
     - hook_civicrm_merge: hooks/hook_civicrm_merge.md
     - hook_civicrm_post: hooks/hook_civicrm_post.md
+    - hook_civicrm_postSave_table_name: hooks/hook_civicrm_postSave_table_name.md
     - hook_civicrm_pre: hooks/hook_civicrm_pre.md
     - hook_civicrm_trigger_info: hooks/hook_civicrm_trigger_info.md
     - hook_civicrm_referenceCounts: hooks/hook_civicrm_referenceCounts.md
-    - hook_civicrm_postSave_table_name: hooks/hook_civicrm_postSave_table_name.md
+  - Entity hooks:
+    - hook_civicrm_entityTypes: hooks/hook_civicrm_entityTypes.md
   - Extension lifecycle hooks:
     - hook_civicrm_disable: hooks/hook_civicrm_disable.md
     - hook_civicrm_enable: hooks/hook_civicrm_enable.md
     - hook_civicrm_install: hooks/hook_civicrm_install.md
+    - hook_civicrm_postInstall: hooks/hook_civicrm_postInstall.md
     - hook_civicrm_uninstall: hooks/hook_civicrm_uninstall.md
     - hook_civicrm_upgrade: hooks/hook_civicrm_upgrade.md
-    - hook_civicrm_postInstall: hooks/hook_civicrm_postInstall.md
   - Form hooks:
     - hook_civicrm_alterContent: hooks/hook_civicrm_alterContent.md
+    - hook_civicrm_alterTemplateFile: hooks/hook_civicrm_alterTemplateFile.md
     - hook_civicrm_buildForm: hooks/hook_civicrm_buildForm.md
+    - hook_civicrm_idsException: hooks/hook_civicrm_idsException.md
     - hook_civicrm_postProcess: hooks/hook_civicrm_postProcess.md
-    - hook_civicrm_validateForm: hooks/hook_civicrm_validateForm.md
-    - hook_civicrm_alterTemplateFile: hooks/hook_civicrm_alterTemplateFile.md
     - hook_civicrm_preProcess: hooks/hook_civicrm_preProcess.md
-    - hook_civicrm_idsException: hooks/hook_civicrm_idsException.md
+    - hook_civicrm_validateForm: hooks/hook_civicrm_validateForm.md
   - GUI hooks:
+    - hook_civicrm_alterMenu: hooks/hook_civicrm_alterMenu.md
     - hook_civicrm_buildAmount: hooks/hook_civicrm_buildAmount.md
     - hook_civicrm_caseSummary: hooks/hook_civicrm_caseSummary.md
+    - hook_civicrm_contact_get_displayname: hooks/hook_civicrm_contact_get_displayname.md
     - <del>hook_civicrm_customFieldOptions</del>: hooks/hook_civicrm_customFieldOptions.md
     - hook_civicrm_dashboard: hooks/hook_civicrm_dashboard.md
+    - hook_civicrm_dashboard_defaults: hooks/hook_civicrm_dashboard_defaults.md
+    - hook_civicrm_fieldOptions: hooks/hook_civicrm_fieldOptions.md
     - hook_civicrm_links: hooks/hook_civicrm_links.md
     - hook_civicrm_navigationMenu: hooks/hook_civicrm_navigationMenu.md
     - hook_civicrm_pageRun: hooks/hook_civicrm_pageRun.md
@@ -120,82 +134,68 @@ pages:
     - hook_civicrm_summary: hooks/hook_civicrm_summary.md
     - hook_civicrm_summaryActions: hooks/hook_civicrm_summaryActions.md
     - <del>hook_civicrm_tabs</del>: hooks/hook_civicrm_tabs.md
-    - hook_civicrm_xmlMenu: hooks/hook_civicrm_xmlMenu.md
     - hook_civicrm_tabset: hooks/hook_civicrm_tabset.md
-    - hook_civicrm_dashboard_defaults: hooks/hook_civicrm_dashboard_defaults.md
-    - hook_civicrm_contact_get_displayname: hooks/hook_civicrm_contact_get_displayname.md
-    - hook_civicrm_fieldOptions: hooks/hook_civicrm_fieldOptions.md
-    - hook_civicrm_alterMenu: hooks/hook_civicrm_alterMenu.md
+    - hook_civicrm_xmlMenu: hooks/hook_civicrm_xmlMenu.md
   - Mail hooks:
+    - hook_civicrm_alterMailContent: hooks/hook_civicrm_alterMailContent.md
+    - hook_civicrm_alterMailer: hooks/hook_civicrm_alterMailer.md
     - hook_civicrm_alterMailParams: hooks/hook_civicrm_alterMailParams.md
     - hook_civicrm_emailProcessor: hooks/hook_civicrm_emailProcessor.md
     - hook_civicrm_emailProcessorContact: hooks/hook_civicrm_emailProcessorContact.md
     - hook_civicrm_mailingGroups: hooks/hook_civicrm_mailingGroups.md
     - hook_civicrm_postEmailSend: hooks/hook_civicrm_postEmailSend.md
-    - hook_civicrm_alterMailer: hooks/hook_civicrm_alterMailer.md
-    - hook_civicrm_unsubscribeGroups: hooks/hook_civicrm_unsubscribeGroups.md
-    - hook_civicrm_alterMailContent: hooks/hook_civicrm_alterMailContent.md
     - hook_civicrm_postMailing: hooks/hook_civicrm_postMailing.md
+    - hook_civicrm_unsubscribeGroups: hooks/hook_civicrm_unsubscribeGroups.md
   - Permission hooks:
     - hook_civicrm_aclGroup: hooks/hook_civicrm_aclGroup.md
     - hook_civicrm_aclWhereClause: hooks/hook_civicrm_aclWhereClause.md
     - hook_civicrm_alterAPIPermissions: hooks/hook_civicrm_alterAPIPermissions.md
-    - hook_civicrm_permission_check: hooks/hook_civicrm_permission_check.md
     - hook_civicrm_permission: hooks/hook_civicrm_permission.md
+    - hook_civicrm_permission_check: hooks/hook_civicrm_permission_check.md
     - hook_civicrm_selectWhereClause: hooks/hook_civicrm_selectWhereClause.md
+  - Profile hooks:
+    - hook_civicrm_buildProfile: hooks/hook_civicrm_buildProfile.md
+    - hook_civicrm_buildUFGroupsForModule: hooks/hook_civicrm_buildUFGroupsForModule.md
+    - hook_civicrm_processProfile: hooks/hook_civicrm_processProfile.md
+    - hook_civicrm_searchProfile: hooks/hook_civicrm_searchProfile.md
+    - hook_civicrm_validateProfile: hooks/hook_civicrm_validateProfile.md
+    - hook_civicrm_viewProfile: hooks/hook_civicrm_viewProfile.md
+  - Report hooks:
+    - hook_civicrm_alterReportVar: hooks/hook_civicrm_alterReportVar.md
   - Uncategorized hooks:
-    - hook_civicrm_alterCalculatedMembershipStatus: hooks/hook_civicrm_alterCalculatedMembershipStatus.md
-    - hook_civicrm_alterBarcode: hooks/hook_civicrm_alterBarcode.md
     - hook_civicrm_alterBadge: hooks/hook_civicrm_alterBadge.md
+    - hook_civicrm_alterBarcode: hooks/hook_civicrm_alterBarcode.md
+    - hook_civicrm_alterCalculatedMembershipStatus: hooks/hook_civicrm_alterCalculatedMembershipStatus.md
+    - hook_civicrm_alterLogTables: hooks/hook_civicrm_alterLogTables.md
+    - hook_civicrm_alterMailingLabelParams: hooks/hook_civicrm_alterMailingLabelParams.md
     - hook_civicrm_alterPaymentProcessorParams: hooks/hook_civicrm_alterPaymentProcessorParams.md
     - hook_civicrm_alterSettingsFolders: hooks/hook_civicrm_alterSettingsFolders.md
     - hook_civicrm_alterSettingsMetaData: hooks/hook_civicrm_alterSettingsMetaData.md
+    - hook_civicrm_angularModules: hooks/hook_civicrm_angularModules.md
     - hook_civicrm_apiWrappers: hooks/hook_civicrm_apiWrappers.md
     - hook_civicrm_buildStateProvinceForCountry: hooks/hook_civicrm_buildStateProvinceForCountry.md
+    - hook_civicrm_check: hooks/hook_civicrm_check.md
     - hook_civicrm_config: hooks/hook_civicrm_config.md
     - <del>hook_civicrm_contactListQuery</del>: hooks/hook_civicrm_contactListQuery.md
+    - hook_civicrm_container: hooks/hook_civicrm_container.md
+    - hook_civicrm_coreResourceList: hooks/hook_civicrm_coreResourceList.md
     - hook_civicrm_cron: hooks/hook_civicrm_cron.md
+    - hook_civicrm_crudLink: hooks/hook_civicrm_crudLink.md
     - hook_civicrm_dupeQuery: hooks/hook_civicrm_dupeQuery.md
+    - hook_civicrm_eventDiscount: hooks/hook_civicrm_eventDiscount.md
     - hook_civicrm_export: hooks/hook_civicrm_export.md
+    - hook_civicrm_fileSearches: hooks/hook_civicrm_fileSearches.md
+    - hook_civicrm_geocoderFormat: hooks/hook_civicrm_geocoderFormat.md
     - hook_civicrm_import: hooks/hook_civicrm_import.md
     - hook_civicrm_membershipTypeValues: hooks/hook_civicrm_membershipTypeValues.md
-    - hook_civicrm_tokens: hooks/hook_civicrm_tokens.md
-    - hook_civicrm_tokenValues: hooks/hook_civicrm_tokenValues.md
-    - hook_civicrm_queryObjects: hooks/hook_civicrm_queryObjects.md
-    - hook_civicrm_check: hooks/hook_civicrm_check.md
-    - <del>hook_civicrm_optionValues</del>: hooks/hook_civicrm_optionValues.md
-    - hook_civicrm_coreResourceList: hooks/hook_civicrm_coreResourceList.md
-    - hook_civicrm_angularModules: hooks/hook_civicrm_angularModules.md
-    - hook_civicrm_container: hooks/hook_civicrm_container.md
-    - hook_civicrm_crudLink: hooks/hook_civicrm_crudLink.md
-    - hook_civicrm_fileSearches: hooks/hook_civicrm_fileSearches.md
     - hook_civicrm_notePrivacy: hooks/hook_civicrm_notePrivacy.md
-    - hook_civicrm_eventDiscount: hooks/hook_civicrm_eventDiscount.md
+    - <del>hook_civicrm_optionValues</del>: hooks/hook_civicrm_optionValues.md
+    - hook_civicrm_queryObjects: hooks/hook_civicrm_queryObjects.md
     - hook_civicrm_recent: hooks/hook_civicrm_recent.md
+    - hook_civicrm_tokens: hooks/hook_civicrm_tokens.md
+    - hook_civicrm_tokenValues: hooks/hook_civicrm_tokenValues.md
     - hook_civicrm_unhandledException: hooks/hook_civicrm_unhandledException.md
-    - hook_civicrm_alterMailingLabelParams: hooks/hook_civicrm_alterMailingLabelParams.md
-    - hook_civicrm_geocoderFormat: hooks/hook_civicrm_geocoderFormat.md
-    - hook_civicrm_alterLogTables: hooks/hook_civicrm_alterLogTables.md
-  - Case hooks:
-    - hook_civicrm_caseChange: hooks/hook_civicrm_caseChange.md
-    - hook_civicrm_caseTypes: hooks/hook_civicrm_caseTypes.md
-    - hook_civicrm_post_case_merge: hooks/hook_civicrm_post_case_merge.md
-    - hook_civicrm_pre_case_merge: hooks/hook_civicrm_pre_case_merge.md
-  - Batch hooks:
-    - hook_civicrm_batchItems: hooks/hook_civicrm_batchItems.md
-    - hook_civicrm_batchQuery: hooks/hook_civicrm_batchQuery.md
-  - Entity hooks:
-    - hook_civicrm_entityTypes: hooks/hook_civicrm_entityTypes.md
+  # Extension hooks go here, in alphabetical order
   - CiviRules hooks:
     - hook_civirules_alter_trigger_data: hooks/hook_civirules_alter_trigger_data.md
     - hook_civirules_logger: hooks/hook_civirules_logger.md
-  - Profile hooks:
-    - hook_civicrm_buildProfile: hooks/hook_civicrm_buildProfile.md
-    - hook_civicrm_buildUFGroupsForModule: hooks/hook_civicrm_buildUFGroupsForModule.md
-    - hook_civicrm_processProfile: hooks/hook_civicrm_processProfile.md
-    - hook_civicrm_searchProfile: hooks/hook_civicrm_searchProfile.md
-    - hook_civicrm_validateProfile: hooks/hook_civicrm_validateProfile.md
-    - hook_civicrm_viewProfile: hooks/hook_civicrm_viewProfile.md
-  - Report hooks:
-    - hook_civicrm_alterReportVar: hooks/hook_civicrm_alterReportVar.md
-