The IVLE docs are written entirely in Sphinx, with the exception of user docs. Documentation is divided into three sections, by target audience:
reStructuredText allows arbitrary heading styles. Use the following heading styles:
*********
Heading 1
*********
Heading 2
=========
Heading 3
---------
Heading 4
~~~~~~~~~
As much as possible, use semantic markup. For example, when describing a command-line option, use :option:`optname` rather than ``optname``. This is more semantic, prettier, and generates links where possible.
External links should be written in the form `http://example.com`_ or `Example <http://example.com>`_. Better yet, use the name only in quotes, such as `Example`_, and at the end of the section, include the reference, like this:
.. _Example: http://example.com
Internal links should be written in the form :ref:`ref-section-name`. Note that the form `ref-section-name`_ is also valid, but has some significant drawbacks:
Therefore, always use the :ref: notation for internal links.
When cross-referencing a section label, place the label above the section heading, with one blank line in between the label and heading, like this:
.. _section-name:
Section Heading
===============
We currently publish documentation to our old Google Code Subversion repository, so they can be linked to from the website. This is done with the ivle-push-docs-to-gc script in lp:~ivle-dev/ivle/dev-scripts. See the comments at the top of that file for instructions.