You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
For a healthy evolution of openLilyLib we need a way to reliably auto-generate documentation. A first attempt has been made on the docscript branch, in the docgen directory, but probably this doesn't fit the new library structure.
There are two aspects to that: module and API documentation and usage examples
Module documentation
The current system of oll- prefixed \header fields is a good start to provide documentation of library files/units/modules as a whole. We should discuss and decide about an authoritative structure with mandatory, optional and custom fields and lay that down in a Contributor's Guide.
A documentation generating script should retrieve module information from that and also perform validity/plausibility checks. Failure should not result in stopping the generation but in some form of notification so people are directed at fixing things.
API documentation
We should discuss and decide upon a syntax to enter API documentation to LilyPond files. Processing of that should be done by creating a new Python module which aims at being independently usable, e.g. for providing syntax highlighting or auto-completion in editors.
It should be discussed whether this should be a new module or if it's suitable to add this to python-ly.
API documentation has to be integrated in the overall generated documentation.
Usage examples
All implemented functions in an openLilyLib library should be covered by usage examples (basically as is already standard). But it has to be discussed what is the best way this could complement the module documentation.
(Followup for #53)
For a healthy evolution of
openLilyLib
we need a way to reliably auto-generate documentation. A first attempt has been made on thedocscript
branch, in thedocgen
directory, but probably this doesn't fit the new library structure.There are two aspects to that: module and API documentation and usage examples
Module documentation
The current system of
oll-
prefixed\header
fields is a good start to provide documentation of library files/units/modules as a whole. We should discuss and decide about an authoritative structure with mandatory, optional and custom fields and lay that down in a Contributor's Guide.A documentation generating script should retrieve module information from that and also perform validity/plausibility checks. Failure should not result in stopping the generation but in some form of notification so people are directed at fixing things.
API documentation
We should discuss and decide upon a syntax to enter API documentation to LilyPond files. Processing of that should be done by creating a new Python module which aims at being independently usable, e.g. for providing syntax highlighting or auto-completion in editors.
It should be discussed whether this should be a new module or if it's suitable to add this to python-ly.
API documentation has to be integrated in the overall generated documentation.
Usage examples
All implemented functions in an
openLilyLib
library should be covered by usage examples (basically as is already standard). But it has to be discussed what is the best way this could complement the module documentation.usage examples should be mandatory and should be used for automated testing. (See also https://github.com/openlilylib/openlilylib/pull/60).
The text was updated successfully, but these errors were encountered: