5. Documenting software projects
The objectives of this tutorial are to familiarise yourself with:
principles for creating good documentation;
plain text markup languages commonly used for writing documentation (Markdown and reStructuredText);
tools for processing plain text documentation and generating output in html or pdf formats (Sphinx);
online services for hosting documentation (ReadTheDocs); and
methods for contributing to documentation.
Here are some examples of open-source code documented with Sphinx and hosted on the web.