/fj-doc

Fugerit Doc

Primary LanguageJavaApache License 2.0Apache-2.0

Venus - Fugerit Document Generation Framework (fj-doc)

Framework to produce documents in different formats starting from an XML document meta model.

Keep a Changelog v1.1.0 badge Maven Central license code of conduct Quality Gate Status Coverage

Java runtime version Java build version Apache Maven

The Core library (fj-doc-base) is all you need to start, even though typically you will use at least :

Useful resources : github pages documentation | project home page | docgen home | release notes | Doc XSD Configuration Reference | freemarker-doc-process-config XSD Configuration Reference | Venus Doc Meta Informations reference | Venus Guides

A quick start is available in module fj-doc-sample

There are five kinds of components (each components README.md contains module status) :

1. Framework core :

2. Modules :

3. Available type handlers :

  • MD BASIC - (fj-doc-base) output as Markdown basic language
  • MD EXT - (fj-doc-base) output as Markdown extended (include tables) language
  • HTML - (fj-doc-freemarker) output as html
  • HTML FRAGMENT - (fj-doc-freemarker) output as html body content only (no html, head or body tags)
  • XLS - (fj-doc-mod-poi) output as Microsoft XLS using Apache POI 4
  • XLSX - (fj-doc-mod-poi) output as Microsoft XLSX using Apache POI 4
  • XLS - (fj-doc-mod-poi5) output as Microsoft XLS using Apache POI 5
  • XLSX - (fj-doc-mod-poi5) output as Microsoft XLSX using Apache POI 5
  • PDF - (fj-doc-mod-fop) - output as PDF using Apache FOP
  • FO - (fj-doc-mod-fop) - output as FO using Apache FOP
  • CSV - (fj-doc-mod-opencsv) - output as CSV using OpenCSV

4. Bundled libraries :

5. Tutorial :

6. Extension Type Handlers (Extension renders) :

Basically the same as type handlers but based on libraries non available on Maven Repository Central (es. PDFLIB).
You can find in them in a dedicated repository fj-doc-ext

7. Incubator Type Handlers (Are too far from being complete) :

8. Deprecated Type Handlers (Will not be maintained) :

9. GraalVM native support

Beginning with version 1.4.0-rc.001, GraalVM metadata started to be added (reflect-config.json and resources-config.json). Initially only the fj-doc-base and fj-doc-freemarker have full support. Actual support for other module will be added as soon as possible, but somtimes is dependant on underlying depandancies support (for example Apache FOP for fj-doc-mod-fop). It is possible to check the current status on the module documentation, in the section native support

About javadoc
Javadoc are far from being complete, but you can find latest version at https://www.fugerit.org
Note that, being an open source project hosted on maven central, you can find release javadoc on javadoc.io

Special thanks

Special thanks to JetBrains for accepting this project in the Licenses for Open Source Development - Community Support program.

JetBrains Logo (Main) logo. IntelliJ IDEA logo.
WebStorm logo.

Special thanks to Sonar Cloud too for their code review platform.