Description
The current documentation is a bit confusing and missing the red thread. For example, there are missing code examples, usage examples in the console without corresponding code snippets, the structure of the arguments is not explained in the logical order (e.g., the default values are not clearly explained), the documentation is scattered between the wiki and docs/
folder etc.
I would suggest to put it all in one place and differentiate between different sections:
- API documentation,
- Getting started,
- Recipes (Tutorials?) and
- Contributing guidelines.
I personally think that just using markdown in doc/
folder doesn't actually cut it for a library with such a wide scope. The files need to be referenced manually, the missing links are hard to detect etc. The wiki is also not really appropriate, since it is not versioned together with the code (e.g., changes in API should go along with changes in the documentation).
IMHO, it would be better to set up docfx and start properly structuring the documents in different sections. Even if we start with very few articles per section in the beginning, having a predefined structure would greatly facilitate adding new nuggets of information (e.g., adding further recipes with code examples).
Furthermore, docfx would automatically generate API documentation from the code upon each change to the master branch. I would also suggest to use doctests as much as possible for methods where it makes sense. (I implemented a doctest tool for C#, but maybe you know a better one).
@jonsequitur and others: what do you think? I would be glad to make the effort and set up docfx. I am not familiar with Azure Pipelines that you use -- so somebody else would need to automate document generation.