Skip to content

Latest commit

 

History

History
167 lines (115 loc) · 13.3 KB

LEGACY_README.md

File metadata and controls

167 lines (115 loc) · 13.3 KB

Venus - Fugerit Document Generation Framework (fj-doc)

Framework to produce documents in different output formats starting from an XML document metamodel. (options for json and yaml source models are also available)

Keep a Changelog v1.1.0 badge Maven Central license code of conduct Quality Gate Status Coverage Known Vulnerabilities Codacy Badge build and scan Docker images

Java runtime version Java build version Apache Maven Online playground Fugerit Github Project Conventions

HTML - Guide PDF - Guide

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

Quickstart

Build

Clone :

git clone https://github.com/fugerit-org/fj-doc

Full build is made by :

mvn clean install -P full,test

Run

The Fugerit Venus Doc project is a library for generating documents to be included.

The module fj-doc-playground-quarkus demonstrates some of the main features.

After building, it is possible to just run it by launching :

cd fj-doc-playground-quarkus
mvn compile quarkus:dev -P buildreact

Open : http://localhost:8080/fj-doc-playground/home/

NOTE : The playground demo single page application currently runs on node 20

Useful resources

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

Modules

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)
  • ADOC - (fj-doc-freemarker) output as asciidoc
  • XLS - (fj-doc-mod-poi) output as Microsoft XLS using Apache POI
  • XLSX - (fj-doc-mod-poi) output as Microsoft XLSX using Apache POI
  • 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
  • PDF - (fj-doc-mod-openpdf-ext) - output as PDF using OpenPDF
  • HTML - (fj-doc-mod-openpdf-ext) - output as HTML using OpenPDF
  • RTF - (fj-doc-mod-openrtf-ext) - output as RTF using OpenRTF

4. Bundled libraries

5. Tutorial

6. Extension Type Handlers (Extension renders)

Basically the same as type handlers but based on libraries not 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 sometimes is dependent on underlying dependencies 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

10. Maven Plugin

A maven plugin is also available. It allows to configure a maven project for document generation, it is as simple as :

mvn org.fugerit.java:fj-doc-maven-plugin:add \
-Dextensions=base,freemarker,mod-fop

See Documentation for further details.

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

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