https://github.com/fugerit-org/fj-doc
Venus - Fugerit Document Generation Framework (fj-doc)
https://github.com/fugerit-org/fj-doc
apache-fop apache-poi csv csv-generator excel excel-generation freemarker html html-generation java markdown markdown-generator maven maven-pom opencsv pdf pdf-generation quarkus xls xlsx
Last synced: about 1 month ago
JSON representation
Venus - Fugerit Document Generation Framework (fj-doc)
- Host: GitHub
- URL: https://github.com/fugerit-org/fj-doc
- Owner: fugerit-org
- License: apache-2.0
- Created: 2019-11-06T09:10:27.000Z (over 6 years ago)
- Default Branch: main
- Last Pushed: 2025-10-21T10:59:50.000Z (5 months ago)
- Last Synced: 2025-10-21T12:25:04.579Z (5 months ago)
- Topics: apache-fop, apache-poi, csv, csv-generator, excel, excel-generation, freemarker, html, html-generation, java, markdown, markdown-generator, maven, maven-pom, opencsv, pdf, pdf-generation, quarkus, xls, xlsx
- Language: Java
- Homepage: https://venusdocs.fugerit.org
- Size: 9.12 MB
- Stars: 25
- Watchers: 4
- Forks: 6
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# Venus - Fugerit Document Generation Framework (fj-doc)
> [](https://github.com/fugerit-org/fj-doc)
> ❤️ If this project helps you, please consider dropping a star — it really motivates continued development!
Framework to produce documents in different output formats starting from an XML document metamodel. (options for json and yaml source models are also available)
[](CHANGELOG.md)
[](https://central.sonatype.com/artifact/org.fugerit.java/fj-doc)
[](https://opensource.org/licenses/Apache-2.0)
[](https://github.com/fugerit-org/fj-universe/blob/main/CODE_OF_CONDUCT.md)
[](https://sonarcloud.io/summary/new_code?id=fugerit-org_fj-doc)
[](https://sonarcloud.io/summary/new_code?id=fugerit-org_fj-doc)
[](https://snyk.io/test/github/fugerit-org/fj-doc)
[](https://app.codacy.com/gh/fugerit-org/fj-doc/dashboard?utm_source=gh&utm_medium=referral&utm_content=&utm_campaign=Badge_grade)
[](https://hub.docker.com/repository/docker/fugeritorg/fj-doc-playground-quarkus/general)

[](https://github.com/fugerit-org/fj-doc/actions/workflows/build_maven_compatibility.yml)
[](https://github.com/fugerit-org/fj-doc/actions/workflows/build_fj-doc-native-quarkus_test.yml)
[](https://universe.fugerit.org/src/docs/versions/java8.html)
[](https://universe.fugerit.org/src/docs/versions/java17.html)
[](https://universe.fugerit.org/src/docs/versions/maven3_9.html)
[](https://docs.fugerit.org/fj-doc-playground/home/)
[](https://universe.fugerit.org/src/docs/conventions/index.html)
As of version 8.10.2 most information previously contained in [README](LEGACY_README.md) are available through the new guide :
[](https://venusdocs.fugerit.org/guide/ "Go to project HTML documentation")
[](https://venusdocs.fugerit.org/guide/fj-doc-guide.pdf "Go to project PDF documentation")
The Core library (fj-doc-base) is all you need to start, even though typically you will use at least :
* [fj-doc-base](fj-doc-base/README.md)
* [fj-doc-freemarker](fj-doc-freemarker/README.md)
* One or more type handlers modules
## Quickstart
### Existing project
The easiest way to add the minimum configuration to an existing project is with the
[add](https://venusdocs.fugerit.org/guide/#maven-plugin-goal-add)
goal of maven plugin, for example, running in a maven project base folder :
```shell
mvn org.fugerit.java:fj-doc-maven-plugin:add \
-Dextensions=base,freemarker,mod-fop
```
### New project
Alternatively it is possible to create a project from scratch with the
[init](https://venusdocs.fugerit.org/guide/#maven-plugin-goal-init)
goal of maven plugin, for example, running the command :
```shell
mvn org.fugerit.java:fj-doc-maven-plugin:init \
-DgroupId=org.example.doc \
-DartifactId=fugerit-demo-quarkus-3 \
-Dflavour=quarkus-3 \
-DaddJacoco=true \
-DaddFormatting=true \
-DwithCI=GitHub
```
It will create a new folder as for the {artifactId} parameter
(in our example : *fugerit-demo-quarkus-3*)
## Usage
For more information on framework usage, refer to the
[guide](https://venusdocs.fugerit.org/guide/), especially :
* [Doc Source Format](https://venusdocs.fugerit.org/guide/#doc-format-entry-point)
* [Dynamic Data](https://venusdocs.fugerit.org/guide/#doc-freemarker-entry-point)
* [Doc Handlers](https://venusdocs.fugerit.org/guide/#doc-handlers)
* [FAQ](https://venusdocs.fugerit.org/guide/#doc-faq)
Which provides a reference to customized existing and new projects.
## ❤️ Support
This project is maintained in [my free time](https://github.com/fugerit79).
If you find it useful, please consider supporting it by:
- ⭐ Giving the repository a star
- 🐛 Opening an issue if you find a problem
- 🔧 Creating a pull request if you'd like to improve something
- 📢 Sharing it with others who might be interested
Thank you for helping the project grow!
## Special thanks
**Special thanks** to [JetBrains](https://www.jetbrains.com/)
for accepting this project in the
[Licenses for Open Source Development - Community Support](https://jb.gg/OpenSourceSupport) program.
[](https://universe.fugerit.org/src/docs/thanks/jetbrains.html)
**Special thanks** to [Sonar Cloud](https://sonarcloud.io/),
[Codacy](https://www.codacy.com/) and
[Snyk](https://snyk.io/)
too for their code review platforms.
Last but not least **thank** to all the OpenSource projects and developers whose software are the building bricks of this and many other repositories.