Updated for 2.3.24-pre01
1 file changed
tree: 4c03facf29000e238d7ebd53a99f120a85bf79c0
  1. .settings/
  2. src/
  3. .checkstyle
  4. .classpath
  5. .eslintrc
  6. .fbprefs
  7. .gitattributes
  8. .gitignore
  9. .jshintrc
  10. .project
  11. .travis.yml
  12. build.properties.sample
  13. build.xml
  14. checkstyle.xml
  15. gulpfile.js
  16. ivy.xml
  17. ivysettings.xml
  19. LICENSE-JING.html
  20. LICENSE.txt
  21. package.json
  22. README.md
  23. test.xml



Docgen was originally written to generate HTML pages from the DocBook 5 XML that the FreeMarker Manual is written in. As such, it‘s not a general purpose DocBook 5 to HTML converter, however, we use it for other projects as well, so it’s not entirely specialized either.


You must have the following libraries installed to build this project:


Before building for the first time:

  • JDK 8 must be installed (tried with 1.8.0_20)
  • Apache Ant must be installed (tried with 1.8.1).
  • Node.js must be installed (tried with v0.10.32).
  • Create a build.properties file based on build.properties.sample
  • Issue npm install from the project directory to install Node.js dependencies. This need to be repeated if you add new dependencies to gulpfile.js.

To build Docgen:

ant all

This will create lib/docgen.jar and build/api.

For documentation see build/api/index.html. Especially, read the documentation of the Transform class there.

For some examples see src/test and test.xml, and of course, src/manual in the freemarker project.

For editing DocBook, we are using XXE with the src/xxe-addon installed.

Building tricks

If you run into dependency errors, you may need to issue:

ant update-deps

If you have modified docgen, and want to try the new version in the freemarker project, you will have to issue:

ant publish-override

This will shadow the docgen artifact that comes from the Ivy repo on freemarker.org. Then, in the freemarker project you have to issue ant update-deps so that it picks up your version.

Compiling LESS and JS

To compile LESS and JS separately from the regular ant build, run:

ant gulp

Eclipse and other IDE-s

You need to run this:

ant ide-dependencies

This will create an ide-dependencies library that contains all the jars that you have to add to the classpath in the IDE. Note that here we assume that you have run the build or at least ant update-deps earlier.

You could also use IvyDE instead, with configuration “IDE”, but as the dependencies hardly ever change, it's unnecessary.

Icon Font Attribution

The icon font in this project was built using IcoMoon and contains selected icons from: