Details
-
Task
-
Status: Open (View Workflow)
-
Major
-
Resolution: Unresolved
-
None
-
None
Description
C/C documentation consists of API pages (mysql_real_connect, etc) and non-API pages ("Building and Installing", "Compatibility", etc). API pages directly correspond to man pages that are included in C/C source and binary packages.
Currently, the primary source of C/C documentation is github wiki. Periodically Georg clones the wiki repo, runs pandoc to convert .md files into .3 manpages and checks them into C/C repository.
Drawbacks:
- C/C repository stored generated files, not source files, as it should.
- manpages are not versioned, C/C 3.2 has manpages that describe 3.3 features.
If using an online-editable wiki is not a goal, we can move documentation to read-only github pages, as:
- put docs in a separate repo connector-c-docs
- convert all API pages to troff or, may be,
- convert all non-API pages to whatever, e.g. sphinx
- libmariadb will include connector-c-docs as a submodule or as ExternalProject
- 3.3 specific parts will be conditionally marked, so they could be skipped in 3.2
- sphinx and groff -Thtml will generated pages for online manual.
or
- all pages are in sphinx
- man pages are generated by sphinx
- means, a builder have to have sphinx
- source tarballs should have preprocessed manpages
- conditional output from sphinx? (may be using .. only:: directive?)