# Writing Documentation [CiviCRM.org/documentation](https://civicrm.org/documentation) has a nice high-level list of all active documentation. ## Wiki migration As of early 2017, developer documentation on the [wiki] is under active migration to mkdocs. If you are helping to migrate wiki pages, please read about the [migration process][migration] to ensure that you understand the workflow including the process of redirecting wiki pages to mkdocs. [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 ## Guides in mkdocs We are using [mkdocs](http://www.mkdocs.org) to produce guides, and currently have the following two: - [User Guide](https://docs.civicrm.org/user/en/stable/) ([repository](https://github.com/civicrm/civicrm-docs)) - [Developer Guide](https://docs.civicrm.org/dev/en/master/) ([repository](https://github.com/civicrm/civicrm-dev-docs)) *(which you are reading now!)* The content for each of these guides is written in [markdown], stored in text files, and hosted on GitHub. ### How to edit For minor changes you can simply edit the [markdown] online using GitHub. However, for a better editing experience we highly recommend installing `mkdocs` as follows. 1. Obtain the source files for the guide you want to edit 1. Find the repository on GitHub (see "repository" links above, or the "GitHub" link on the bottom left of screen of the documentation you are reading) 1. Fork and clone locally. 1. Install mkdocs on your machine. 1. For Ubuntu sudo apt-get install python-pip python-wheel sudo pip install mkdocs 1. For other platforms, follow instructions on [mkdocs.org](http://www.mkdocs.org) 1. Launch a local copy of the guide 1. Run: cd civicrm-dev-docs mkdocs serve - If you get `[Errno 98] Address already in use` then try using a different port with `mkdocs serve -a localhost:8001` 1. Go to `http://localhost:8000` to view 1. Edit the [markdown] with an editor of your choice. As you save your changes `mkdocs` will automatically reprocess the page and refresh your browser. 1. When you are happy with your edits, use git to commit and push your changes. Then submit a pull request on GitHub. [Markdown]: markdownrules.md