Documentation
=============
Documenting a mixed-language project such as BridgeStan can be tricky.
We attempt to keep documentation in the natural place for each language: C/C++
code is documented with doxygen-style comments in the source, Python documentation
appears in docstrings, etc. With the exception of the R interface, our documentation
generation (powered by `Sphinx `__) automatically
combines these together into the documentation you are reading now.
To build the documentation, you can run ``make docs`` in the top-level directory.
This places the files in :file:`docs/_build/html`. At a minimum, the following must be installed:
* The Python interface to BridgeStan
* `Sphinx 5.0 or above `__
* `nbsphinx `__
* `sphinx-copybutton `__
* `pydata-sphinx-theme `__
* `MySt-Parser `__
There are also optional dependencies depending on which part of the documentation
you are updating.
If you wish to build the C++ portions of the documentation, you should also have:
* `Doxygen `__
* `Breathe `__
Similarly, the Julia documentation will only update if Julia is installed. Julia
documentation is written in :file:`julia/docs/src/julia.md`. We then build
this with `DocumenterMarkdown.jl `__,
and the output is placed in :file:`docs/languages/julia.md`.