Skip to content

Reorganize the documentation #995

Open
@mristin

Description

@mristin

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.

A subset of related issues: #984, #987, #940

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions