[CONC-571] Rework documentation storage/process Created: 2021-11-15  Updated: 2022-07-01

Status: Open
Project: MariaDB Connector/C
Component/s: Documentation
Affects Version/s: None
Fix Version/s: 3.3

Type: Task Priority: Major
Reporter: Sergei Golubchik Assignee: Georg Richter
Resolution: Unresolved Votes: 0
Labels: 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?)

Generated at Thu Feb 08 03:06:16 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.