Skip to content
Snippets Groups Projects
documentation.md 2.3 KiB
Newer Older
  • Learn to ignore specific revisions
  • Erich's avatar
    Erich committed
    # Writing Documentation
    
    Erich's avatar
    Erich committed
    [CiviCRM.org/documentation](https://civicrm.org/documentation) has a nice high-level list of all active documentation.
    
    Erich's avatar
    Erich committed
    ## Guides in mkdocs
    
    Erich's avatar
    Erich committed
    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/)
    
    Erich's avatar
    Erich committed
    * [Developer Guide](https://docs.civicrm.org/dev/en/master/) *(which you are reading now!)*
    
    Erich's avatar
    Erich committed
    The content for each of these guides is written in markdown, stored in text files, and hosted on GitHub.
    
    Erich's avatar
    Erich committed
    ### 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`:
    
    
    1.  Obtain the source files for the guide you want to edit
        1. Find the repository on GitHub (e.g. here is [the repo for this guide](https://github.com/civicrm/civicrm-dev-docs))
        1. Fork and clone locally. (For more help with Git and GitHub see [Git](git))
    1.  Install mkdocs on your machine.
    
    Erich's avatar
    Erich committed
        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)
    
    
    Erich's avatar
    Erich committed
    1. Launch a local copy of the guide
        1. Run:
    
    
                cd civicrm-dev-docs
                mkdocs serve
    
    Erich's avatar
    Erich committed
    
            * 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
    
    
    Erich's avatar
    Erich committed
    1. Edit the [markdown](markdownrules) 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 chnanges then submit a  pull request on GitHub.
    
    
    ### Formatting
    
    Erich's avatar
    Erich committed
    See [Markdown](markdownrules) for formatting syntax within mkdocs.
    
    Erich's avatar
    Erich committed
    The [CiviCRM wiki](https://wiki.civicrm.org/confluence/display/CRMDOC/CiviCRM+Documentation) has lots of great info but is slowly falling out of use in favor of mkdocs.
    
    If you migrate content from the wiki to mkdocs, you may want to setup an HTTP redirect from the wiki
    (`https://wiki.civicrm.org/confluence/display/CRMDOC/{$x}`) to mkdocs (`https://docs.civicrm.org/dev/en/master/{$y}`).
    To do this, add a new row to the [redirects/wiki-crmdoc.txt](redirects/wiki-crmdoc.txt).