PollyNET / Pollynet_Processing_Chain

NRT lidar data processing program for multiwavelength polarization Raman lidar network (PollyNET)
https://polly.tropos.de/
GNU General Public License v3.0
20 stars 8 forks source link

automated api level html documentation #89

Closed martin-rdz closed 3 years ago

martin-rdz commented 3 years ago

Rationale

Currently, the documentation in not very accessible and spread across various locations, such as the readme.md, doc folder, inline comments. Especially new contributors (and non-matlab-experts) are easily overwhelmed ;)

Proposed solution

Use the documentation generator sphinx, which is well established for python documentation. A prime example of an sphinx documentation is xarray.

The sphinxcontrib-matlabdomain extension extends the functionality to matlab. With the recommonmark extension, the markdown formatted readme and some of the files from the doc folder can be automatically included.

A basic setup of sphinx is done in the branch setup_autodoc. I decided not to file a pull request yet, as we might require some modifications to the inline docstrings (see below). An example of the html rendered version can be found here. This page can also be moved to a PollyNET githubpage later.

Challenges

How to run sphinx

ZPYin commented 3 years ago

Thanks for your cool suggestion.

I've discussed with @HolgerPollyNet regarding hosting the documentation on GitHub wiki. Because it's easier for others to collaborate with.

But compared with sphinx docs, it also has many disadvantages (I just googled around):

So, Sphinx might be more suitable for our purpose. I will explore Sphinx in the next few days, maybe start with the repo you setup for Pollynet_processing_chain.

ZPYin commented 3 years ago

A drafted version of Picasso documentation (based on Sphinx) has been uploaded, see the link below: https://pollynet.github.io/Pollynet_Processing_Chain/

Right now there are still limited information, but can be easily extended. The source files are located under doc-auto/ and the build folder is docs (restricted by GitHub Pages).