diff --git a/docs/api/changes.md b/docs/api/changes.md
index b2d7cfe847c256581c60743b29ac99889d9ce7b0..2b134ce60d618b99fe8e4a9f906f4632b928d32f 100644
--- a/docs/api/changes.md
+++ b/docs/api/changes.md
@@ -99,7 +99,7 @@ To detect other references, one must implement `hook_civicrm_referenceCounts` or
 
 API action "getlist" is a wrapper for API action "get." It is used mainly for quicksearch and autocomplete widgets. A call to, for example: `CRM.api3('contact', 'getlist', {input: 'bob'})` will internally call contact.get and return a list of resuts formatted for use by the select2 widget or other autocomplete/search forms. It supports formatted description, icons or other images in the results, infinite scrolling or paging of search results, and context-aware searching.
 
-See [EntityRef Fields documentation](https://wiki.civicrm.org/confluence/display/CRMDOC/EntityRef+Fields) for more info.
+See [EntityRef Fields documentation](/framework/quickform/entityref.md) for more info.
 
 ### 4.4.5: Added client-side CRM.api3() wrapper
 
@@ -111,7 +111,7 @@ The new wrapper supports issuing multiple api calls in a single requestto save b
 
 ### 4.4.0: 'getoptions' action accepts additional params related to context
 
-See [Pseudoconstant (option list) Reference](https://wiki.civicrm.org/confluence/display/CRMDOC43/Pseudoconstant+%28option+list%29+Reference)
+See [Pseudoconstant (option list) Reference](/framework/pseudoconstant.md)
 
 ### 4.4.0: 'getoptions' action respects 'sequential' param
 
@@ -197,7 +197,7 @@ Because 'sequential' gives a more concise format, it has been made the default i
 
 Fetch the options for a specified field e.g. `civicrm_api('contact', 'getoptions' array('field' => 'gender_id'));` returns `array(1 => 'Female', 2 => 'Male', 3 => 'Transgender')`
 
-See [Pseudoconstant (option list) Reference](https://wiki.civicrm.org/confluence/display/CRMDOC/Pseudoconstant+%28option+list%29+Reference)
+See [Pseudoconstant (option list) Reference](/framework/pseudoconstant.md)
 
 ### 4.3.0: Deprecating action=update
 
@@ -299,7 +299,7 @@ When creating a new Case record, the "create" API previously accepted `case_type
 
 ### 4.3.0: Deprecate Constant API
 
-Most `CRM_*_Pseudoconstant methods` (which the 'constant' api is a wrapper for) are deprecated in 4.3 and many are removed in 4.4. To future-proof your code, use the [api.getoptions](/api/actions.md#getoptions) method instead of the constant api. See [Pseudoconstant (option list) Reference](https://wiki.civicrm.org/confluence/display/CRMDOC/Pseudoconstant+%28option+list%29+Reference)
+Most `CRM_*_Pseudoconstant methods` (which the 'constant' api is a wrapper for) are deprecated in 4.3 and many are removed in 4.4. To future-proof your code, use the [api.getoptions](/api/actions.md#getoptions) method instead of the constant api. See [Pseudoconstant (option list) Reference](/framework/pseudoconstant.md)
 
 ### 4.3.0: Contact get API now respects ACLS
 
@@ -598,7 +598,7 @@ See also: [Pull Request](https://github.com/civicrm/civicrm-core/pull/4865)
 - `CRM_Core_Transaction` has traditionally used a reference-counting mechanism to combine multiple pieces of business-logic into a single transaction. In 4.6, this remains the default behavior, but  one can also use nested transactions (by passing `$nested=TRUE` to the constructor). Any work done in the nested transaction can be rolled back without affecting the overall transaction.
 - Prior to 4.6, the idiom for managing transactions was to call `$tx = new CRM_Core_Transaction()` and rely on the destructor to cleanup the transaction (e.g. issue the COMMIT/ROLLBACK). Unfortunately, it can be cumbersome to correctly apply this idiom when handling exceptions generated by non-Civi classes. 4.6 introduces a safer notation: `CRM_Core_Transaction::create()->run(function($tx){});` which automatically rolls back in case of an exception.
 
-For more details, see [Transaction Reference](https://wiki.civicrm.org/confluence/display/CRMDOC/Transaction+Reference).
+For more details, see [Transaction Reference](/framework/database/transactions.md).
 
 ### 4.5.3: AJAX, Regions, and Resources
 
diff --git a/docs/api/index.md b/docs/api/index.md
index 22cf6eb5f2e3811b1a0af8f779368fe26989766e..c0f25ee72236f81bce6ff10ea334067267d2b453 100644
--- a/docs/api/index.md
+++ b/docs/api/index.md
@@ -48,5 +48,4 @@ From the API explorer, you can click on the **Examples** tab to find examples of
 
 ## Changelog
 
-All important changes made to the API are be recorded on the wiki at:
-[API changes](/api/changes.md)
+All important changes made to the API are recorded in [API changes](/api/changes.md).
diff --git a/docs/api/usage.md b/docs/api/usage.md
index da99bcca45eb0792620d985a135f5f649c710462..411b61bbf8300609531bc4b7038e67901d367690 100644
--- a/docs/api/usage.md
+++ b/docs/api/usage.md
@@ -84,7 +84,7 @@ for usability:
 plugin, or a standalone script, then you may need to **bootstrap** CiviCRM
 before using the API.  See the examples in [Bootstrap Reference].
 
-[Bootstrap Reference]: https://wiki.civicrm.org/confluence/display/CRMDOC/Bootstrap+Reference
+[Bootstrap Reference](/framework/bootstrap.md)
 
 ## PHP (class.api.php)
 
@@ -150,11 +150,9 @@ http://www.example.com/civicrm/ajax/rest
 Obviously you should substitute your site in! You can explore the syntax
 and options available using the [API Explorer](/api/index.md#api-explorer).
 
-Please note that the REST interface is subject to
-[API Security](https://wiki.civicrm.org/confluence/display/CRMDOC/API+Security).
+Please note that the REST interface is subject to [API Security](/security/permissions.md#api-permissions).
 
-For more details, see [REST
-interface](http://wiki.civicrm.org/confluence/display/CRMDOC/REST+interface). 
+For more details, see [REST interface](/api/interfaces.md#rest). 
 
 
 ## AJAX
@@ -165,7 +163,7 @@ CRM.api3('entity', 'action', [params], [statusMessage]);
 
 For more details, see [AJAX Interface].
 
-[AJAX Interface]: https://wiki.civicrm.org/confluence/display/CRMDOC/AJAX+Interface
+[AJAX Interface](/api/interfaces.md#ajax)
 
 The AJAX interface is automatically available for web-pages generated through
 CiviCRM (such as standard CiviCRM web-pages, CiviCRM extensions,
@@ -175,7 +173,7 @@ The AJAX interface could be made available to other parts of the same website
 (e.g. a drupal module or wordpress widget) by calling
 `CRM_Core_Resources::singleton()->addCoreResources()`
 from php. Please note that the AJAX interface is subject to
-[API Security](https://wiki.civicrm.org/confluence/display/CRMDOC/API+Security)
+[API Security](/security/permissions.md#api-permissions)
 and
 [Same Origin Policy](http://en.wikipedia.org/wiki/Same_origin_policy).
 To use it from an external site or application, see REST interface documentation.
@@ -191,7 +189,7 @@ The smarty call is to add extra information, therefore *create* or *delete*
 actions don't make sense in this case.
 
 For more details, see
-[Smarty API interface](https://wiki.civicrm.org/confluence/display/CRMDOC/Smarty+API+interface).
+[Smarty API interface](/api/interfaces.md#smarty-api-interface).
 
 ## Command line
 
diff --git a/docs/basics/community.md b/docs/basics/community.md
index 68d3aada19e8802e65eb55e46d35bb6cca691782..f295a6ad232c57584578ad7e4fcc5c295b4ce192 100644
--- a/docs/basics/community.md
+++ b/docs/basics/community.md
@@ -46,16 +46,12 @@ Optional lists you may also want to register for:
 
 ## Falling out of use
 
--   [Wiki] - still used for specs & recipes, *but documentation
-        [is moving][migration] to the guides listed above*
+-   [Wiki](https://wiki.civicrm.org/confluence/display/CRMDOC/CiviCRM+Documentation) - still used for some older documentation
 -   [IRC](http://irc.civicrm.org/) - #civicrm on irc.freenode.net
         *but now mostly replaced by Mattermost*
 -   [Forum](https://forum.civicrm.org/) - *now mostly replaced by
         StackExchange*
 
-[wiki]: https://wiki.civicrm.org/confluence/display/CRMDOC/CiviCRM+Documentation
-[migration]: https://wiki.civicrm.org/confluence/display/CRMDOC/Content+migration+from+wiki+to+Developer+Guide
-
 The developer community is full of friendly people, eager to welcome newcomers.
 Mattermost and in-person events are great starting points if you're looking to
 get involved!
diff --git a/docs/basics/planning.md b/docs/basics/planning.md
index 8743bbe924f4a7a0c8850d89b4ee150f3ec46781..71b56fab66f95c5e617c424b64b0c09c2e806615 100644
--- a/docs/basics/planning.md
+++ b/docs/basics/planning.md
@@ -34,9 +34,13 @@ practice, even for relatively small projects, to write
 
 The requirements are typically written to be understandable to end
 users, and the specification can be thought of as a translation of those
-requirements into the language of CiviCRM. Both requirements and
-specification should go on the
-[wiki](http://wiki.civicrm.org/confluence/display/CRM/CiviCRM+Wiki).
+requirements into the language of CiviCRM. 
+
+Store your requirements and specifications in a public location such as:
+
+* A markdown file in your project's repository
+* A google doc 
+* The [CiviCRM wiki](http://wiki.civicrm.org/confluence/display/CRM/CiviCRM+Wiki)
 
 Once you've written the requirements and specification document, you
 should go about soliciting feedback.  Get feedback on the requirements
@@ -83,7 +87,7 @@ or using one of available `docker` images ([1](https://github.com/progressivetec
 requirement but it is definitely the fastest path to a good development
 experience!
 
-**From the outset, [automate testing](https://wiki.civicrm.org/confluence/display/CRMDOC/Testing)**.
+**From the outset, [automate testing](/testing/setup.md)**.
 In the current climate of rapid evolution of not just CiviCRM, but
 also it's myriad of dependancies, automated testing of PHP code with `phpunit`
 and javascript with tools like `karma` and `jasmine` is essential. Start all
@@ -109,7 +113,7 @@ versions of CiviCRM.
 the implications.
 
 **Follow the
-[Coding Standards](https://wiki.civicrm.org/confluence/display/CRMDOC/Coding+Standards)**
+[Coding Standards](/standards/index.md)**
 for uniform structure that will make everyone's development work easier.
 
 
diff --git a/docs/basics/requirements.md b/docs/basics/requirements.md
index 71b38311e735b0fc31d6fa484f755c48cff79204..70b8beded379df602135a437bd105b9d8ad914e6 100644
--- a/docs/basics/requirements.md
+++ b/docs/basics/requirements.md
@@ -23,9 +23,7 @@ Civi development should work with most packages -- but there's one proviso:
 
 Some packages are configured properly out-of-the-box. (Linux distributions
 do a pretty good job of this.) Other packages require extra configuration
-steps (e.g.  [Setup Command Line
-PHP](http://wiki.civicrm.org/confluence/display/CRMDOC/Setup+Command-Line+PHP)
-for MAMP).
+steps.
 
 In subsequent steps, the download script will attempt to identify
 misconfigurations and display an appropriate message.
diff --git a/docs/documentation/index.md b/docs/documentation/index.md
index 1f77abed22e20ef008e3ae2cca2a7c5b84962cb6..d1f40df6eb2d83e56475f89459496f4c18c86843 100644
--- a/docs/documentation/index.md
+++ b/docs/documentation/index.md
@@ -5,13 +5,7 @@ To *read* documentation, go to [docs.civicrm.org](https://docs.civicrm.org) for
 This page describes the details of the documentation systems within CiviCRM and how to contribute. We also have a more [basic overview](https://docs.civicrm.org/user/en/latest/the-civicrm-community/contributing-to-this-manual/) on how to contribute to this guide or the user guide. 
 
 !!! note "Note: the wiki is not covered here"
-    The [wiki] has historically been CiviCRM's documentation system but is currently being phased out. As of early 2017, documentation is still somewhat split between the wiki the the guides described below, but we are working to eventually consolidate *all* documentation into guides. A [migration process][migration] is currently underway for this Developer Guide, and a process will [likely](https://github.com/civicrm/civicrm-docs/issues/17) follow for a dedicated Administrator Guide, as well as [extension guides](https://github.com/civicrm/civicrm-docs/issues/14).
-
-    The rest of **this page describes guides only** and does *not* cover documentation processes that involve the wiki.
-
-[migration]: https://wiki.civicrm.org/confluence/display/CRMDOC/Content+migration+from+wiki+to+Developer+Guide
-[wiki]: https://wiki.civicrm.org/confluence/display/CRMDOC/CiviCRM+Documentation
-
+    The [wiki](https://wiki.civicrm.org/confluence/display/CRMDOC/CiviCRM+Documentation) has historically been CiviCRM's documentation system but is being phased out as of 2017. The rest of this page describes MkDocs guides only and does not cover documentation processes that involve the wiki.
 
 ## When to document {:#when}
 
@@ -144,7 +138,6 @@ The most advanced way to work on a guide is to use git to download all the markd
     * Specify a location for the markdown file for your new page which follows the folder structure of the menu location you decided on.
 1. Add a new markdown file in the location specified by your new menu item and begin add content to it.
 1. If you're copying existing content from other sources (e.g. wiki, StackExchange, etc.) then follow the [instructions for providing attribution](#attributing-imports)
-1. If you're migrating one whole wiki page, follow [instructions for redirecting a wiki page to MkDocs](https://wiki.civicrm.org/confluence/display/CRMDOC/Content+migration+from+wiki+to+Developer+Guide#ContentmigrationfromwikitoDeveloperGuide-HowtoredirectonewikipagetotheDevGuide).
 
 ### Moving pages
 
@@ -193,7 +186,7 @@ This is relevant when you want to copy content *out of* our documentation books.
 2. Navigate to the corresponding markdown file within GitHub (it will match the URL path of the published content).
 3. Click on "Blame" to see detailed information about content authors, line, by line.
 
-### How to displaying attributing for content migrated *into* our books {:#attributing-imports}
+### How to display attribution for content migrated *into* our books {:#attributing-imports}
 
 The [CiviCRM wiki](https://wiki.civicrm.org/confluence/dashboard.action) and [Stack Exchange](http://civicrm.stackexchange.com/) also use the CC BY-SA 3.0 license, which is convenient because content is regularly migrated into our MkDocs guides from these sources. But to comply with the license, we must attribute the original content authors
 
diff --git a/docs/extensions/advanced.md b/docs/extensions/advanced.md
index df371cc5de233760726d42e9d242cf13c9b9f5f1..0f943d84be15a47cefd7c21e33824b2e7b01e3d9 100644
--- a/docs/extensions/advanced.md
+++ b/docs/extensions/advanced.md
@@ -18,10 +18,10 @@ There are three options to create an ajax or web-service callback:
     your data to *$this-\>ajaxResponse* array and the rest will happen
     automatically. If not, you can directly call
     CRM\_Core\_Page\_AJAX::returnJsonResponse() at the bottom of the run
-    function. See [Ajax Pages and Forms](https://wiki.civicrm.org/confluence/display/CRMDOC/Ajax+Pages+and+Forms)
+    function. See [Ajax Pages and Forms](/framework/ajax.md)
     documentation.
 -   **Using the API:** Add an API function using `civix`.
-    The API function can be called with the API's [AJAX Interface](http://wiki.civicrm.org/confluence/display/CRMDOC/AJAX+Interface).
+    The API function can be called with the API's [AJAX Interface](/api/interfaces.md#ajax).
     This automatically handles issues like encoding and decoding the
     request/response.
 
diff --git a/docs/extensions/civix.md b/docs/extensions/civix.md
index bc72a5d5ab6830be2f6fed58e1b0d7e8519ed120..d09c656922eb797818f1ffe10b464312578aa2dd 100644
--- a/docs/extensions/civix.md
+++ b/docs/extensions/civix.md
@@ -59,8 +59,7 @@ and `--email`.
 
 You can now update your `info.xml`. This file initially contains some
 examples and placeholders which you need to fix. You can edit most of these
-fields intuitively.  If you need detailed specifications, see [Extension
-Reference](http://wiki.civicrm.org/confluence/display/CRMDOC/Extension+Reference).
+fields intuitively.  If you need detailed specifications, see [Extension Reference](/extensions/index.md).
 
 Now that you have created your extension, you need to activate it by navigating
 to:
@@ -72,7 +71,7 @@ or
 **Administer » Customize Data and Screens » Manage Extensions.**
 
 For more detailed instructions, see
-[Extensions](http://wiki.civicrm.org/confluence/display/CRMDOC/Extensions).
+[Extensions](/extensions/index.md).
 
 ## Add features
 
@@ -126,7 +125,7 @@ basic operations, such as passing data from the controller to the view.
 
 If the data on the page is read and updated through the API, then you
 may want to consider using the
-[in-place editing](https://wiki.civicrm.org/confluence/display/CRMDOC/In-Place+Field+Editing) API.
+[in-place editing](/framework/ui.md#in-place-field-editing) API.
 
 ### Add a basic web form {:#generate-form}
 
@@ -136,7 +135,7 @@ may want to consider using the
     will be easier than migrating basic forms, so you may want
     to consider building your data-input interface  using basic pages, the AJAX
     API, and the
-    [in-place editing](https://wiki.civicrm.org/confluence/display/CRMDOC/In-Place+Field+Editing) API.
+    [in-place editing](/framework/ui.md#in-place-field-editing) API.
 
 CiviCRM uses a typical web-MVC architecture. To implement a basic web
 form, you must create a PHP controller class, create a Smarty template
@@ -158,7 +157,7 @@ This creates three files:
 -   `CRM/Myextension/Form/FavoriteColor.php` is the controller which
     coordinates any parsing, validation, business-logic, or database
     operations. For more details on how this class works, see [QuickForm
-    Reference](http://wiki.civicrm.org/confluence/display/CRMDOC/QuickForm+Reference).
+    Reference](/framework/quickform/index.md).
 -   `templates/CRM/Myextension/Form/FavoriteColor.tpl` is loaded
     automatically after the controller executes. It defines the markup
     that is eventually displayed. For more information on the syntax of
@@ -235,7 +234,7 @@ to create a new entity. For this, you can use the command `civix generate:entity
 
 1. Run `civix generate:upgrader` from within your extension. (Even though you're not yet creating any upgrades for your extension, you need to do this step now so that CiviCRM will pick up `auto_install.sql` and `auto_uninstall.sql`
 
-1. Define your entity using [hook_civicrm_entityTypes](https://wiki.civicrm.org/confluence/display/CRMDOC/hook_civicrm_entityTypes).
+1. Define your entity using [hook_civicrm_entityTypes](/hooks/hook_civicrm_entityTypes.md).
 
 ### Add a database upgrader, installer and uninstaller {:#generate-upgrader}
 
@@ -273,7 +272,7 @@ action-link to perform the upgrades.
 
 !!! note
     The "upgrader" class is a wrapper for
-    [hook_civicrm_upgrade](https://wiki.civicrm.org/confluence/display/CRMDOC/Hook+Reference)
+    [hook_civicrm_upgrade](/hooks/hook_civicrm_upgrade.md)
     which aims to be easy-to-use for developers with Drupal experience. If
     you need to organize the upgrade logic differently, then consider
     providing your own implementation of hook_civicrm_upgrade.
@@ -283,7 +282,7 @@ action-link to perform the upgrades.
     tables. Do not manipulate core schema.
 
 If you need to create triggers on core SQL tables, use
-[hook_civicrm_triggerInfo](http://wiki.civicrm.org/confluence/display/CRMDOC/Hook+Reference).
+[hook_civicrm_triggerInfo](/hooks/hook_civicrm_triggerInfo.md).
 This allows your triggers to coexist with triggers from other modules.
 
 ### Add a case type {:#generate-case-type}
@@ -487,8 +486,7 @@ function myextension_civicrm_post($op, $objectName, $objectId, &$objectRef) {
 
 To include static resources such as stylesheets, Javascript files, or
 images place them in your extension directory. To load
-the files at runtime, see the examples in the [Resource
-Reference](http://wiki.civicrm.org/confluence/display/CRMDOC/Resource+Reference).
+the files at runtime, see the examples in the [Resource Reference](/framework/resources.md).
 
 ### Add a report {:#generate-report}
 
@@ -512,13 +510,13 @@ This creates three files:
 
 -   `CRM/Myextension/Form/Report/MyReport.mgd.php` stores metadata
     about the report in a format based on
-    [hook_civicrm_managed](http://wiki.civicrm.org/confluence/display/CRMDOC/Hook+Reference)
+    [hook_civicrm_managed](/hooks/hook_civicrm_managed.md)
     and the
-    [API](http://wiki.civicrm.org/confluence/display/CRMDOC/API+Reference).
+    [API](/api/index.md).
 -   `CRM/Myextension/Form/Report/MyReport.php` contains the
     form-builder and query-builder for the report. For details about its
     structure, see the [CiviReport
-    Reference](http://wiki.civicrm.org/confluence/display/CRMDOC/CiviReport+Reference).
+    Reference](/framework/civireport.md).
 -   `templates/CRM/Myextension/Form/Report/MyReport.tpl` contains
     the report's HTML template. This template usually delegates
     responsibility to a core template and does not need to be edited.
@@ -557,9 +555,9 @@ This command will create two files:
 
 -   `CRM/Myextension/Form/Search/MySearch.mgd.php` stores metadata
     about the custom search. The format of the file is based on
-    [hook_civicrm_managed](http://wiki.civicrm.org/confluence/display/CRMDOC/Hook+Reference)
+    [hook_civicrm_managed](/hooks/hook_civicrm_managed.md)
     and the
-    [API](http://wiki.civicrm.org/confluence/display/CRMDOC/API+Reference).
+    [API](/api/index.md).
 -   `CRM/Myextension/Form/Search/MySearch.php` contains the
     form-builder and query-builder for the custom search.
 
diff --git a/docs/extensions/index.md b/docs/extensions/index.md
index e79e617aa5ce166ff52ac4ed356602d8497769f9..4b21c17d1056a15cbf7b4b9e76089e038f5b7aca 100644
--- a/docs/extensions/index.md
+++ b/docs/extensions/index.md
@@ -24,12 +24,12 @@ different short-name, but that requires extra work.
 
 -   Have basic knowledge of PHP, Unix, and object-oriented programming
 -   Install ***civix v14.01*** or newer. For instructions, see
-    [https://github.com/totten/civix/](https://github.com/totten/civix/)
-    . This wiki page assumes that "civix" is installed and registered in
+    [Civix Documentation](/extensions/civix.md/).
+    This page assumes that "civix" is installed and registered in
     the PATH.
 -   Configure an extensions directory. For instructions, see
-    [Extensions](http://wiki.civicrm.org/confluence/display/CRMDOC/Extensions).
-    This wiki page assumes the directory is "/var/www/extensions", but
+    [Extensions](/extensions/index.md).
+    This page assumes the directory is `/var/www/extensions`, but
     you should adapt as appropriate.
      Your extensions directory must be under the CMS root directory so
     that civix can find and bootstrap the CMS. Otherwise, it will fail
@@ -39,7 +39,7 @@ different short-name, but that requires extra work.
     to read all CMS files, including configuration files, and write to
     the extensions directory.
      For example, Debian's drupal7 package saves database configuration
-    to /etc/drupal/7/sites/default/dbconfig.php, which is only readable
+    to `/etc/drupal/7/sites/default/dbconfig.php`, which is only readable
     by the www-data user. You will need to make this file readable by
     your development user account for civix to work.
 
@@ -53,7 +53,7 @@ sure, you can do a couple things:
 Extensions provide a native, portable way to extend CiviCRM, but there are
 other ways to extend CiviCRM – such as implementing Drupal modules or Joomla
 plugins. If you're considering another way, look at the
-[Add-on Formats](https://wiki.civicrm.org/confluence/display/CRMDOC/Add-on+Formats)
+[Add-on Formats](/extensions/packaging.md)
 to help decide.
 
 ### 1. Install civix
@@ -67,12 +67,12 @@ tasks.
 
 >> For more information on the boilerplate civix generates for you, in
    particular the extension manifest file (info.xml), see the [Extension
-   Reference](https://wiki.civicrm.org/confluence/display/CRMDOC/Extension+Reference).
+   Reference](/extensions/index.md).
 
 ### 2. Develop
 To get started with development, one should usually follow the steps in
 "[Create a Module
-Extension.](https://wiki.civicrm.org/confluence/display/CRMDOC/Create+a+Module+Extension)"
+Extension.](/extensions/civix.md#generate-module)"
 A module extension is the most flexible type of extension – it can define any
 mix of new reports, custom search screens, payment processors, and web pages;
 it can listen for hooks, override page-templates, and more. The coding
diff --git a/docs/extensions/publish.md b/docs/extensions/publish.md
index 2222faca28cc9a4802df9388c03c22efa2d194b1..9a1266c4dec6c776c8e57aa4ca6f097130699892 100644
--- a/docs/extensions/publish.md
+++ b/docs/extensions/publish.md
@@ -35,7 +35,7 @@ detected, published, and submitted for translation.
 -   The extension code is published in a public GitHub repository.
 -   The extension manifest (`info.xml`) is in the root of the repository.
 -   The extension manifest is
-    [valid](https://wiki.civicrm.org/confluence/display/CRMDOC/Extension+Reference#ExtensionReference-Tagsininfo.xml).
+    [valid](/extensions/info-xml.md#ExtensionReference-Tagsininfo.xml).
 -   The name of the extension repository (e.g., *https://github.com/civicrm/org.civicrm.legcase.git*)
     matches the extension's fully qualified name (.e.g, *org.civicrm.legcase*) or
     its short name as specified by the `file` tag in `info.xml` (e.g., *legcase*).
diff --git a/docs/framework/angular/index.md b/docs/framework/angular/index.md
index f34f984fb095532ccd5dbe7f66544b13b982ed32..dc2214aaf8c8b3cb049d062afcb5de7bcc3f36eb 100644
--- a/docs/framework/angular/index.md
+++ b/docs/framework/angular/index.md
@@ -87,7 +87,7 @@ The first interaction comes when CiviCRM generates the initial HTML page:
    way which is compatible with multiple CMSs -- Drupal, Joomla, WordPress, etc.)
  * CiviCRM builds the list of CSS/JS/JSON resources in lines 3-5.  (It does this in a
    way which allows extensions to add new CSS/JS/JSON. See also:
-   [Resource Reference](https://wiki.civicrm.org/confluence/display/CRMDOC/Resource+Reference).)
+   [Resource Reference](/framework/resources.md).)
  * CiviCRM ensures that the page includes the site-wide elements, such as
    lines 8 and 10. (It does this in a way which is compatible with multiple CMSs.)
 
diff --git a/docs/framework/angular/loader.md b/docs/framework/angular/loader.md
index 9f0cd028966db6699d3178d622e26e4df9ee8860..130c85a9adf3986a4f1f711554cf283e99450fb8 100644
--- a/docs/framework/angular/loader.md
+++ b/docs/framework/angular/loader.md
@@ -118,7 +118,7 @@ and loads them on the page. This will include:
     all modules are loaded on `civicrm/a`.
 
 !!! note "How does `load()` output the `<script>` tag(s)?"
-    `load()` uses [CRM_Core_Resources](https://wiki.civicrm.org/confluence/display/CRMDOC/Resource+Reference)
+    `load()` uses [CRM_Core_Resources](/framework/resources.md)
     to register JS/CSS files.
 
 ## Other base-pages
diff --git a/docs/framework/resources.md b/docs/framework/resources.md
index b0cc693f676c6b8bf2d6b5a019a3b9d5ccb79f55..109a2b9c31d58f53cee5663d13bc585b81b33483 100644
--- a/docs/framework/resources.md
+++ b/docs/framework/resources.md
@@ -5,9 +5,9 @@
 The *resources* subsystem supports loading Javascript code, CSS code, or image data. Most resources are static files bundled with CiviCRM. However, resources can also be external scripts, inline code-fragments, or dynamically-generated files. As of CiviCRM 4.2, the class `CRM_Core_Resources` manages these resources. This API works for both CiviCRM core and extensions.
 
 !!! note "Resources and Regions"
-    The HTML output for any CiviCRM page is divided into regions, such as the `html-header` or `page-footer`. When you add a resource, it must be added to some region. See also: [Region Reference](https://wiki.civicrm.org/confluence/display/CRMDOC/Region+Reference)
+    The HTML output for any CiviCRM page is divided into regions, such as the `html-header` or `page-footer`. When you add a resource, it must be added to some region. See also: [Region Reference](/framework/region.md)
 
-    Most regions have a fairly consistent operation. However, the HTML `<head>` may have special constraints or interactions with the CMS environment. This is discussed in greater depth in [HTML Header Region](https://wiki.civicrm.org/confluence/display/CRMDOC/HTML+Header+Region).
+    Most regions have a fairly consistent operation. However, the HTML `<head>` may have special constraints or interactions with the CMS environment. This is discussed in greater depth in [HTML Header Region](/framework/region.md#header).
 
 !!! note "Resources and Extensions"
     The following examples assume that you wish to use resources provided by the extension `com.example.foo`. To use resources from your own extension, substitute appropriately. To use files provided by CiviCRM core, use the placeholder `civicrm`.
diff --git a/docs/framework/ui.md b/docs/framework/ui.md
index ee0bb6c8cebc886aedec25a73e0e30f1ac44d595..39287718e104464c81da411768e2f2c33e3ffc85 100644
--- a/docs/framework/ui.md
+++ b/docs/framework/ui.md
@@ -377,7 +377,7 @@ ajax whenever the user clicks it.
 
 As of CiviCRM v4.6 you do not need to do anything to initialize
 crmEditable, it is handled automatically on every
-[crmLoad](http://wiki.civicrm.org/confluence/display/CRMDOC/Ajax+Pages+and+Forms#AjaxPagesandForms-Events.1)
+[crmLoad](/framework/ajax.md)
 event.
 
 In previous versions you would need to manually write out the javascript
diff --git a/docs/hooks/hook_civicrm_alterMailer.md b/docs/hooks/hook_civicrm_alterMailer.md
index 759c4199043f68abe320dc9a22367c33755ec2fd..0a82a6618d513810f4b22c5a566c8985409211e4 100644
--- a/docs/hooks/hook_civicrm_alterMailer.md
+++ b/docs/hooks/hook_civicrm_alterMailer.md
@@ -61,8 +61,3 @@ Introduced in CiviCRM v4.4.
       }
     }
 
-[Jon Goldberg](https://wiki.civicrm.org/confluence/display/~palantejon), good catch spotting a
-discrepancy in the naming. However, I've switched the docs back to say
-"alterMailer" because that was the downstream/consumable interface. More
-discussion a
-[https://github.com/civicrm/civicrm-core/pull/7500](https://github.com/civicrm/civicrm-core/pull/7500)
\ No newline at end of file
diff --git a/docs/hooks/hook_civicrm_alterSettingsFolders.md b/docs/hooks/hook_civicrm_alterSettingsFolders.md
index 822c5098c37ab5a9708e4257b52c7f04bcbf906f..3025b1ae98dc31287bcc76f57932bf94a8a4d72b 100644
--- a/docs/hooks/hook_civicrm_alterSettingsFolders.md
+++ b/docs/hooks/hook_civicrm_alterSettingsFolders.md
@@ -7,7 +7,7 @@ additional folders.
 
 ## Notes
 
-The [Settings](https://wiki.civicrm.org/confluence/display/CRMDOC/Settings+Reference) subsystem
+The [Settings](/framework/setting.md) subsystem
 provides metadata about many of CiviCRM's internal settings by scanning
 for files matching "settings/*.setting.php" (e.g.
 [settings/Core.setting.php](https://github.com/civicrm/civicrm-core/blob/4.3/settings/Core.setting.php)).
@@ -22,4 +22,4 @@ This hook was introduced in CiviCRM v4.3.0 and v4.2.10.
 
 ## Parameters
 
--   @param array $metaDataFolders list of directory paths
\ No newline at end of file
+-   @param array $metaDataFolders list of directory paths
diff --git a/docs/hooks/hook_civicrm_coreResourceList.md b/docs/hooks/hook_civicrm_coreResourceList.md
index 8877e32ae4fdf4f396da9492e37b64f93e9fa17c..04ec6834fe4436a12356f6a1e75ad6f4b7bf193c 100644
--- a/docs/hooks/hook_civicrm_coreResourceList.md
+++ b/docs/hooks/hook_civicrm_coreResourceList.md
@@ -10,7 +10,7 @@ the list prior to the resources being added, or add your own.
 
 Added in v4.6.6.
 
-See [Resource Reference](https://wiki.civicrm.org/confluence/display/CRMDOC/Resource+Reference)
+See [Resource Reference](/framework/resources.md)
 for more information.
 
 ## Definition
diff --git a/docs/hooks/hook_civicrm_cron.md b/docs/hooks/hook_civicrm_cron.md
index 0dcb7c42317db39fbee78ee22b3ae6b97eca6f62..4ad2cdeeba4973fd4647b5c7c90e435d3b3f080b 100644
--- a/docs/hooks/hook_civicrm_cron.md
+++ b/docs/hooks/hook_civicrm_cron.md
@@ -12,7 +12,7 @@ the system configuration.
 Introduced in CiviCRM v4.3.
 
 !!! note "This is a low-level approach"
-    There are two ways to build on top of the CiviCRM scheduler. **hook_civicrm_cron** is a low-level approach which calls your code with an unpredictable schedule – in some systems, it could be once a day; in others, once every minute, every 5 minutes, every hour, every 2 hours, ad nauseum. You must ensure that your code will behave well in all these situations. Alternatively, the **Job API** is a higher-level approach by which you may register scheduled jobs ("Daily", "Hourly", etc), and the scheduler will make a best effort to match the declared scheduler. See, e.g., ["Create a Module Extension: How does one add a cron job"](https://wiki.civicrm.org/confluence/display/CRMDOC/Create+a+Module+Extension#CreateaModuleExtension-Howdoesoneaddacronjob)
+    There are two ways to build on top of the CiviCRM scheduler. **hook_civicrm_cron** is a low-level approach which calls your code with an unpredictable schedule – in some systems, it could be once a day; in others, once every minute, every 5 minutes, every hour, every 2 hours, ad nauseum. You must ensure that your code will behave well in all these situations. Alternatively, the **Job API** is a higher-level approach by which you may register scheduled jobs ("Daily", "Hourly", etc), and the scheduler will make a best effort to match the declared scheduler. See, e.g., ["Create a Module Extension: How does one add a cron job"](/extensions/advanced.md##cron-jobs)
 
 
 ## Definition
@@ -34,4 +34,4 @@ Introduced in CiviCRM v4.3.
      */
     function example_civicrm_cron($jobManager) {
       CRM_Core_DAO::executeQuery('UPDATE my_table SET is_dirty = 1 WHERE last_modified < adddate(now(), "-2 day")');
-    }
\ No newline at end of file
+    }
diff --git a/docs/hooks/hook_civicrm_fieldOptions.md b/docs/hooks/hook_civicrm_fieldOptions.md
index afcabac8bbd5c05122c6e8121158487a61d25416..dbcae4aabd975974160ae10da5571859fd27d96f 100644
--- a/docs/hooks/hook_civicrm_fieldOptions.md
+++ b/docs/hooks/hook_civicrm_fieldOptions.md
@@ -21,8 +21,7 @@ This hook allows you to dynamically modify the option list for any field (includ
 
 ## See Also
 
-See [Pseudoconstant (option list)
-Reference](https://wiki.civicrm.org/confluence/display/CRMDOC/Pseudoconstant+%28option+list%29+Reference)
+See [Pseudoconstant (option list) Reference](/framework/pseudoconstant.md)
 for more information about how option lists work and the *context*
 parameter.
 
@@ -35,4 +34,4 @@ parameter.
           unset($options[3], $options[5]);
         }
       }
-    }
\ No newline at end of file
+    }
diff --git a/docs/hooks/hook_civicrm_managed.md b/docs/hooks/hook_civicrm_managed.md
index 08e45cc0415b747116a722219ed555b4992b6ab7..ef7df8017266d486cad5aed77d169ceaa265867c 100644
--- a/docs/hooks/hook_civicrm_managed.md
+++ b/docs/hooks/hook_civicrm_managed.md
@@ -34,12 +34,12 @@ hook_civicrm_managed(&$entities)
         entity (*Note: Each module creates its own namespace*)
 
     -   string `entity` - an entity-type supported by the [CiviCRM
-        API](https://wiki.civicrm.org/confluence/display/CRMDOC/API+Reference) (*Note: this
+        API](/api/index.md) (*Note: this
         currently must be an entity which supports the 'is_active'
         property*)
 
     -   array `params` - the entity data as supported by the [CiviCRM
-        API](https://wiki.civicrm.org/confluence/display/CRMDOC/API+Reference)
+        API](/api/index.md)
 
     -   string `update` - a policy which describes when to
         update records
diff --git a/docs/standards/javascript.md b/docs/standards/javascript.md
index 27cd209400132c8f5f988d2b5518526ac28fea1c..4696daadb7570607a5238044f265934b1e8643b2 100644
--- a/docs/standards/javascript.md
+++ b/docs/standards/javascript.md
@@ -153,7 +153,7 @@ When your script file is being added to the page by `CRM_Core_Resources` it will
 
 ## UI Elements
 
-CiviCRM ships with a number of UI widgets and plugins to create standardized "look and feel" More information can be found in [UI Elements Reference](https://wiki.civicrm.org/confluence/display/CRMDOC/UI+Elements+Reference).
+CiviCRM ships with a number of UI widgets and plugins to create standardized "look and feel" More information can be found in [UI Elements Reference](/framework/ui.md).
 
 ## Test Tools
 
diff --git a/docs/standards/php.md b/docs/standards/php.md
index f135286a03fa6170e84c952e770a1537a501a9a4..c782b6f66b624efd6772f571e456bd65d4b47d85 100644
--- a/docs/standards/php.md
+++ b/docs/standards/php.md
@@ -48,7 +48,7 @@ Classes and interfaces in Civi take one of two forms:
 
 **Rational for Change**
 
-Changing these can be quite difficult and can break interfaces consumed by downstream. For more discussion of `CRM_` and `Civi\`, see [The Codebase](https://wiki.civicrm.org/confluence/display/CRMDOC/The+codebase).
+Changing these can be quite difficult and can break interfaces consumed by downstream. For more discussion of `CRM_` and `Civi\`, see [The Codebase](/framework/filesystem.md).
 
 
 ## Scope
diff --git a/docs/tools/buildkit.md b/docs/tools/buildkit.md
index 4b045603a3ca48422ea6762f03dddde31f7d800f..608e86efda30a730b9c74d62d595a17dfc7d7da8 100644
--- a/docs/tools/buildkit.md
+++ b/docs/tools/buildkit.md
@@ -56,7 +56,7 @@ All pre-requisites must support command-line access using the standard command
 names (`git`, `php`, `node`, `mysql`, `mysqldump`, etc). In some environments,
 you may need to enable these commands by configuring `PATH` -- this is especially
 true for MAMP, XAMPP, and other downloaded packages.
-(See, e.g., [Setup Command-Line PHP](http://wiki.civicrm.org/confluence/display/CRMDOC/Setup+Command-Line+PHP).)
+(See, e.g., [Setup Command-Line PHP](/standards/php.md).)
 
 Once the pre-requisites are met, download buildkit to `~/buildkit`:
 
diff --git a/docs/tools/civilint.md b/docs/tools/civilint.md
index d3ce2524283160da50e1a294a170f8ac5a77cb64..5166d7804bdac82716f3add62de8bdf71b5c00cf 100644
--- a/docs/tools/civilint.md
+++ b/docs/tools/civilint.md
@@ -16,8 +16,8 @@ git diff --name-only origin/4.6.. | civilint - # Check changed files
 
 See also:
 
-- [CiviCRM Coding Standards](https://wiki.civicrm.org/confluence/display/CRMDOC/PHP+Code+and+Inline+Documentation)
-- [CiviCRM Javascript Standards](https://wiki.civicrm.org/confluence/display/CRMDOC/Javascript+Reference)
+- [CiviCRM Coding Standards](/standards/php.md)
+- [CiviCRM Javascript Standards](/standards/javascript.md)
 - [Drupal Coding Standards](https://www.drupal.org/docs/develop/standards/coding-standards)
 - [PHP_CodeSniffer](https://github.com/squizlabs/PHP_CodeSniffer)
 - [coder](https://github.com/civicrm/coder)
diff --git a/docs/tools/debugging.md b/docs/tools/debugging.md
index a86b898bac9a49114d232bca8aeb447ca439928c..34dd62a63218d1b3ecb72c3830a760b07b8529a7 100644
--- a/docs/tools/debugging.md
+++ b/docs/tools/debugging.md
@@ -335,7 +335,7 @@ The webserver can be configured to display errors to screen, but it also logs er
 -   `/var/log/php5/*log` PHP-FPM & PHP-CGI error logs
 -   `/path/to/site/err*log` Some hosting environments
 
-And a **CiviCRM specific debug log** file - location varies depending on hosting environment *and* CMS, refer to [this wiki page](https://wiki.civicrm.org/confluence/display/CRMDOC/Debugging+for+developers#Debuggingfordevelopers-Logfiles) for location -
+And a **CiviCRM specific debug log** file - location varies depending on hosting environment *and* CMS, refer to [this page](/tools/debugging.md#Debuggingfordevelopers-Logfiles) for location -
 
     path/to/site/path/to/civicrm/files/ConfigAndLog/CiviCRM*log
 
@@ -373,7 +373,6 @@ This is where you can start debugging meaningfully. There's a good chance you're
  * https://civicrm.stackexchange.com/questions/376/where-should-one-look-for-logs-when-debugging-a-new-problem
  * [Drupal.org: Blank pages or White Screen of Death](https://www.drupal.org/node/158043)
  * [Joomla SE: What is an efficient way to troubleshoot a White Screen of Death](https://joomla.stackexchange.com/questions/299/what-is-an-efficient-way-to-troubleshoot-a-white-screen-of-death)
- * [CiviCRM wiki: Debugging for developers](https://wiki.civicrm.org/confluence/display/CRMDOC/Debugging+for+developers#Debuggingfordevelopers-Logfiles)
 
 **Notes**
 
diff --git a/docs/tools/index.md b/docs/tools/index.md
index 40e6d4ba2c88c8ee98435e5ebf586f0e4d5bf1ef..7d9f4cd19d6e5b6b40672da9980d2e4cc73d0b47 100644
--- a/docs/tools/index.md
+++ b/docs/tools/index.md
@@ -34,7 +34,7 @@ When you install [buildkit](/tools/buildkit.md) you'll get all these tools.
     * *repository: [within civicrm-buildkit](https://github.com/civicrm/civicrm-buildkit/blob/master/bin/civihydra)*
 * `civicrm-upgrade-test` - Scripts and data files for testing upgrades
     * *[documentation& repository](https://github.com/civicrm/civicrm-upgrade-test)*
-* Coder - Configure phpcs for CiviCRM's [coding standards](http://wiki.civicrm.org/confluence/display/CRMDOC/PHP+Code+and+Inline+Documentation)
+* Coder - Configure phpcs for CiviCRM's [coding standards](/standards/php.md)
     * *[documentation & repository](https://github.com/civicrm/coder)*
     * *(Derived from [Drupal's coder project](https://www.drupal.org/project/coder))*