This project is used to generate an Eclipse help based on the Mylyn Wiki Text project.

Input:
 - the textile sources located in the docu folder
 - the main table of contents (mainToc.xml)
 
To generate the help based on these textile files, build-help.ant is executed.

	Relevant target: generate-help (default)

The result of the help target is available after successful run in the help and toc folder.


Note:
All dependencies needed from Wikitext are available in the build-dependencies/docu-wikitext-lib folder.
Styles are located in the build-dependencies/docu-styles folder.
The main Ant file is build-dependencies/build-docu.txt
