Request for Changes-57: Migrate Cookbook to RST

From OTBWiki
Revision as of 09:20, 1 September 2016 by Poughv (Talk | contribs)

Jump to: navigation, search

[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:


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. 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 (

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 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":