Don't use this repo anymore as it has moved to https://git-wip-us.apache.org/repos/asf/incubator-freemarker-docgen.git
GitHub mirror (read only): https://github.com/apache/incubator-freemarker-docgen
Visit http://freemarker.org/ for more information!
Apache FreeMarker is an effort undergoing incubation at The Apache Software Foundation (ASF). Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF.
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.propertiesfile based onbuild.properties.sample - Issue
npm installfrom the project directory to install Node.js dependencies. This need to be repeated if you add new dependencies togulpfile.js.
To build Docgen:
ant allThis 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.
If you run into dependency errors, you may need to issue:
ant update-depsIf you have modified docgen, and want to try the new version in the
freemarker project, you will have to issue:
ant publish-overrideThis 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.
To compile LESS and JS separately from the regular ant build, run:
ant gulpYou need to run this:
ant ide-dependenciesThis 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.
The icon font in this project was built using IcoMoon and contains selected icons from:
- Entypo by Daniel Bruce
- Font Awesome by Dave Gandy.
- Material Design Icons by Google