Difference between revisions of "Request for Changes-57: Migrate Cookbook to RST"

From OTBWiki
Jump to: navigation, search
([Request for Changes - 52] Migrate Cookbook to RST)
Line 5: Line 5:
* Author: Victor Poughon and Rashad Kanavath
* Author: Victor Poughon and Rashad Kanavath
* Additional Contributors (if different than authors)
* Additional Contributors (if different than authors)
* Submitted on dd.mm.yyyy
* Submitted on 01.09.2016
* Proposed target release 5.8
* Proposed target release 5.8
* Adopted (if voted for), Rejected (if voted against), Merged in OTB x.y (if merged)
* Adopted (if voted for), Rejected (if voted against), Merged in OTB x.y (if merged)

Revision as of 09:25, 1 September 2016

[Request for Changes - 52] Migrate Cookbook to RST



Good documentation is very important! Following RFComments-5, this branch does two things

1. Convert to RST format and the Sphinx build system.

2. Move the sources to OTB main git repository in Documentation/Cookbook

You can see the new cookbook here: https://www.orfeo-toolbox.org/packages/doc/tests-rfc-52/cookbook-20e42e3ac/


The conversion to RST is done to improve the quality of the layout and rendering, to enable easier contributions from outside the core OTB team and is searchable with the readthedocs theme. Additionally, RST has better html rendering than latex, an easier learning curve, and renders directly on github (as noted in RFComments-5).

The move to the OTB source tree is done for the same reasons we move the Software Guide and Monteverdi. The cookbook follows the same release schedule and procedures as the rest of OTB, and therefore otb-documents has to be kept in sync manually. This will simplify both development and release processes.

The major downside to this migration is that git history is lost.

Implementation details

Building the new cookbook requires Sphinx and is as simple as:

   mkdir build-cookbook
   cd build-cookbook
   cmake path/to/otb/source/Documentation/Cookbook -DOTB_DIR=path/to/otb/build/lib/cmake/OTB-X.Y

The conversion was done with pandoc, with manual corrections of some formatting errors. OTB applications documentation is generated at compile time with a script (otbGenerateWrappersRstDoc.py).

Classes and files







Cookbook and application documentation only. This branch also contains some improvements to the cookbook not present in otb-documents: chapter layout, typos and updated images.

Additional notes


  • remove otbcb.readthedocs.io and host this on otb packages (trunk and stable)
  • Update How to Release procedure
  • Update nightly build platforms
  • git rm/deprecate cookbook in otb-documents
  • impose rst documentation inside otb application docs (future rfc)
  • Try to add "edit on github links": https://github.com/snide/sphinx_rtd_theme/issues/314