D'abord, conservez deux arborescences de répertoires, source
et build
. Mettez source
sous le contrôle de version. Ne mettez pas build
sous le contrôle de version, reconstruisez-le dans le cadre de l'installation.
Ensuite, lisez http://sphinx.pocoo.org/intro.html#setting-up-the-documentation-sources.
Utilisez le sphinx-quickstart
pour créer une arborescence de documentation pratique. Jouez avec cela pendant quelques jours pour apprendre comment cela fonctionne. Ensuite, utilisez-le à nouveau pour construire la chose réelle dans les répertoires SVN.
Organisez votre documentation dans un arbre bien planifié. Certaines sections ont besoin d'un "index.rst" pour cette section, d'autres non. Cela dépend de la façon dont la section est «autonome».
Notre plus haut niveau index.rst
ressemble à ceci.
.. XXX documentation master file, created by sphinx-quickstart on Wed Dec 31 07:27:45 2008.
.. include:: overview.inc
.. _`requirements`:
Requirements
============
.. toctree::
:maxdepth: 1
requirements/requirements
requirements/admin
requirements/forward
requirements/volume
.. _`architecture`:
Architecture
============
.. toctree::
:maxdepth: 1
architecture/architecture
architecture/techstack
architecture/webservice_tech
architecture/webservice_arch
architecture/common_features
architecture/linux_host_architecture
Detailed Designs
================
.. toctree::
:maxdepth: 3
design/index
Installation and Operations
===========================
.. toctree::
:maxdepth: 1
deployment/installation
deployment/operations
deployment/support
deployment/load_test_results
deployment/reference
deployment/licensing
Programming and API's
=====================
.. toctree::
:maxdepth: 2
programming/index
**API Reference**. The `API Reference`_ is generated from the source.
.. _`API Reference`: ../../../apidoc/xxx/index.html
.. note::
The API reference must be built with `Epydoc`_.
.. _`Epydoc`: http://epydoc.sourceforge.net/
Management
==========
.. toctree::
:maxdepth: 2
:glob:
management/*
Indices and tables
==================
* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`
SVN Revision
============
::
$Revision: 319 $
Notez que nous n'incluons pas l'API, nous la référençons simplement avec un lien HTML ordinaire.
Sphinx a un add-on très cool, appelé automodule, qui sélectionne les docstrings à partir de modules Python.
Mise à jour A partir de Sphinx 1.0, C et C++ sont pris en charge. http://sphinx.pocoo.org/
Avez-vous fini par utiliser Sphinx pour votre projet C++? Si oui, comment s'est passée votre expérience? – AndyL