En primer lugar, mantener dos árboles de directorios, source
y build
. Ponga source
bajo control de versión. No ponga build
bajo control de versión, recupérelo como parte de la instalación.
Segundo, lea http://sphinx.pocoo.org/intro.html#setting-up-the-documentation-sources.
Utilice sphinx-quickstart
para crear un árbol de documentación de práctica. Juega con esto durante unos días para aprender cómo funciona. Luego, úsela de nuevo para construir la cosa real en directorios SVN.
Organice su documentación en un árbol bien planificado. Algunas secciones necesitan un "index.rst" para esa sección, otras no. Depende de qué tan "independiente" sea la sección.
Nuestro nivel superior index.rst
se parece así.
.. 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 $
Nota: no "incluimos" la API, solo la referenciamos con un enlace HTML ordinario.
Sphinx tiene un complemento muy genial, llamado automodule, que selecciona las cadenas de documentos de los módulos de Python.
Actualización A partir de Sphinx 1.0, C y C++ son compatibles. http://sphinx.pocoo.org/
¿Terminaste usando Sphinx para tu proyecto C++? ¿Si es así, Cómo fue tu experiencia? – AndyL