Documentation Practices
=======================
Introduction to Editing the Sphinx Documentation
------------------------------------------------
Documentation for WESTPA is maintained using `Sphinx `_.
Docstrings are formatted in the `Numpy style
`_,
which are converted to ReStructuredText using Sphinx' `Napoleon
`_ plugin, a feature included with Sphinx.
Make sure ``sphinx`` and ``sphinx_rtd_theme`` are installed on the system. The settings for the documentation
are specified in ``/westpa/doc/conf.py``. In order to successfully build the documentation, your system
has to statisfy the minimum environment to install WESTPA.
The documentation may be built locally in the ``_build`` folder by navigating to the ``doc`` folder, and
running::
make html
to prepare an html version or::
make latexpdf
To prepare a pdf. The latter requires ``latex`` to be available.
Uploading to ReadTheDocs
------------------------
The online copy of WESTPA Sphinx documentation is hosted on `ReadtheDocs `_.
The Sphinx documentations on the main branch are updated whenever the main branch is updated, via a
webhook setup on ReadtheDocs and ``/westpa/.readthedocs.yml``. The environment used to build the documentation
on the RTD servers are described in ``/westpa/doc/doc_env.yaml``.
In Cases of Major Revisions in Code Base
----------------------------------------
Currently, each ``.rst`` file contains pre-written descriptions and autogenerated sections generated
from docstrings via ``automodule``. In cases where the WESTPA code base has significantly changed,
the structure of the code base can be regenerated into the ``test`` folder by running the
following command in the ``doc`` folder::
sphinx-apidoc -f -o test ../src/westpa