Details
-
Type:
Story
-
Status: Done
-
Resolution: Done
-
Fix Version/s: None
-
Component/s: Stack Documentation and UX
-
Labels:None
-
Story Points:2.4
-
Epic Link:
-
Team:SQuaRE
Description
To bridge Doxygen-generated C++ reference documentation into pipelines.lsst.io, a Sphinx-based site, we know we want to use Breathe. However, we don't know the best way to build out the API reference site. We don't want a monolithic page with all APIs, instead, we want one-page-per-API, like we do the Python docs.
One approach to building out this page hierarchy is breathe-apidoc, a CLI tool that's part of Breathe. This ticket is to demo that approach and see if it's an appropriate solution for the LSST Science Pipelines documentation.
Krzysztof Findeisen, here's the Pipelines C++ reference generate through breathe and organized by breathe-apidoc.
https://pipelines.lsst.io/v/DM-22499/index.html#reference-and-indices
Of principal use is the namespace listing: https://pipelines.lsst.io/v/DM-22499/cpp-api/namespacelist.html
And the class listing: https://pipelines.lsst.io/v/DM-22499/cpp-api/classlist.html
The output overall seems better than what exhale was trying to do, but overall there is still a duplication of content between comprehensive namespace listings (e.g. https://pipelines.lsst.io/v/DM-22499/cpp-api/namespace/namespacelsst_1_1afw_1_1typehandling.html#_CPPv4I0EN4lsst3afw12typehandling10GenericMapE) and standalone pages for classes (e.g. https://pipelines.lsst.io/v/DM-22499/cpp-api/class/classlsst_1_1afw_1_1typehandling_1_1_generic_map.html
I noticed that the GenericMap docs still suffer from that parsing/rendering area with "A Key" where "Key" becomes automatically linked.
What do you think about this solution? Thanks for your thoughts.