Feature definition

A course is a git repository. It contains a slide-deck, edited by an OXiane tool, and serialized in JSon, and this tool is not related to this paper. And it contains an exercice book, edited by any text editor in our own MarkDown flavor. It is also a project that is build by a continuous integration process, and this build process must produce the slide-deck in pdf format, and the exercice book in PDF and Html formats. LibreOffice and MS Office formats has been made obsolete. For both slide-deck and exercice book, two flavors are produced, one for screen, one for print.

We need a tool that is able to transform MarkDown to Html, to PDF, and a What-You-See-Is-What-You-Get browser-based editor. Transformation process must be quick and efficient, as WYSISWYG editor must be fluid. As this tool is written by a course-writers team, and as there is no credit to maintain this tool, it must be very robust, it must be very easy to evolve if new features are required in the future. It must provide comprehensive error message when transformation fails, to help the writer to correct its document, without requiring a developer assistance.