You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
docs(readme): link the tech badges and fold the install caveats away (#463)
The Java, PDFBox, POI and MIT badges were bare images while the CI,
Release and Central badges were links, so half the badge row went
nowhere: Java and the two backend badges now point at the install
section and the backend capability matrix, MIT at LICENSE.
Installation opened with the dependency snippet and then four stacked
blockquotes — the artifact matrix, the font and emoji companions,
distribution, and an upgrade note. The three that answer follow-up
questions collapse into <details>; the upgrade note is dropped because
the migration guide is already linked from the header and from the
2.0 section. "What's new in 2.0" moves below Hello world so the
release notes stop pushing getting-started under the fold.
jitpack.yml is gone: JitPack resolves a tag against the jitpack.yml
committed at that tag, so the root copy only served new tags, which it
built wrong — it installed core and the wrapper but none of the render
backends or templates. Maven Central has been the documented channel
since v1.6.6.
<ahref="./docs/architecture/backend-capability-matrix.md"><imgsrc="https://img.shields.io/badge/PDFBox-3.0-red?style=for-the-badge"alt="PDFBox 3.0 — PDF backend"/></a>
18
+
<ahref="./docs/architecture/backend-capability-matrix.md"><imgsrc="https://img.shields.io/badge/Apache%20POI-5.5-blueviolet?style=for-the-badge"alt="Apache POI 5.5 — PPTX and DOCX backends"/></a>
Sits between **iText** (low-level page primitives) and **JasperReports** (XML-template-driven layout): a Java DSL describes the document semantically, the engine renders.
87
87
88
-
## What's new in 2.0
89
-
90
-
The **module-first** release — the single jar becomes a family of per-concern artifacts, so you install exactly what you render.
91
-
92
-
-**Lean engine**—`graph-compose-core` is the document model, DSL, themes, and deterministic layout with **no PDFBox, POI, or template code** on its dependency tree. Backends plug in through a `ServiceLoader` seam; a core-only classpath asked to render throws `MissingBackendException` naming the artifact to add.
93
-
-**Opt-in render backends**—`graph-compose-render-pdf` (PDFBox 3.0, full DSL coverage), `graph-compose-render-pptx` (Apache POI, geometry-identical PowerPoint decks from the same resolved layout — one page per editable slide; clipped regions land as pixel-exact pictures; ships as **beta** in its first release), `graph-compose-render-docx` (Apache POI, semantic export).
94
-
-**`graph-compose` stays a drop-in**— the 1.x coordinate is now a thin wrapper over core + the PDF backend, so existing callers upgrade with **no code and no dependency change**.
95
-
-**Templates are their own artifact**— the CV / cover-letter / invoice / proposal preset families moved to `graph-compose-templates` (imports unchanged). This is the [one dependency-level break](./docs/migration/v2.0.0-modules.md#the-one-break-templates) of the split.
96
-
-**`graph-compose-bundle`**— one batteries-included coordinate: PDF stack + templates + fonts + colour emoji.
97
-
-**Retired surface**— the APIs deprecated across 1.6–1.9 are removed, the layered template packages dropped their `.v2` suffix, and `BusinessTheme` plus the classic pre-layered presets are gone — each removal has a named replacement in the [migration guide](./docs/migration/v2.0.0-modules.md).
98
-
99
-
Everything the 1.9 line added — in-document navigation, native TOC and page references, bookmarks, multi-section documents, inline chips / SVG icons / colour emoji, render-to-image — ships unchanged in 2.0. Full history in [`CHANGELOG.md`](./CHANGELOG.md).
100
-
101
88
## Installation
102
89
103
90
**Requires Java 17+** (enforced by the build).
@@ -114,43 +101,56 @@ Everything the 1.9 line added — in-document navigation, native TOC and pag
> shortly after each Central release. The legacy JitPack URL
150
-
> (`com.github.DemchaAV:GraphCompose:v<version>`) remains resolvable for callers
151
-
> pinned to v1.6.5 and earlier but is no longer the documented install option.
152
-
153
-
> **Upgrading from 1.x?** Rendering PDF through `graph-compose` needs no change at all. If you reached the built-in templates through the single 1.x jar, add `graph-compose-templates` (imports are unchanged) — the [2.0 migration guide](./docs/migration/v2.0.0-modules.md) walks every case, including the removed deprecated APIs and their replacements.
104
+
That coordinate renders PDF out of the box: it aggregates the lean `graph-compose-core`
105
+
engine plus the `graph-compose-render-pdf` backend, so existing 1.x callers upgrade with
106
+
**no code change**.
107
+
108
+
<details>
109
+
<summary><b>Which artifact?</b> — the 2.0 module split, when you want to take less or more</summary>
shortly after each Central release. The legacy JitPack URL
150
+
(`com.github.DemchaAV:GraphCompose:v<version>`) remains resolvable for callers
151
+
pinned to v1.6.5 and earlier but is no longer the documented install option.
152
+
153
+
</details>
154
154
155
155
## Hello world
156
156
@@ -201,6 +201,19 @@ class Hello {
201
201
202
202
For a Spring Boot `@RestController` streaming the PDF straight to the response, see [`HttpStreamingExample`](./examples/src/main/java/com/demcha/examples/features/streaming/HttpStreamingExample.java).
203
203
204
+
## What's new in 2.0
205
+
206
+
The **module-first** release — the single jar becomes a family of per-concern artifacts, so you install exactly what you render.
207
+
208
+
-**Lean engine**—`graph-compose-core` is the document model, DSL, themes, and deterministic layout with **no PDFBox, POI, or template code** on its dependency tree. Backends plug in through a `ServiceLoader` seam; a core-only classpath asked to render throws `MissingBackendException` naming the artifact to add.
209
+
-**Opt-in render backends**—`graph-compose-render-pdf` (PDFBox 3.0, full DSL coverage), `graph-compose-render-pptx` (Apache POI, geometry-identical PowerPoint decks from the same resolved layout — one page per editable slide; clipped regions land as pixel-exact pictures; ships as **beta** in its first release), `graph-compose-render-docx` (Apache POI, semantic export).
210
+
-**`graph-compose` stays a drop-in**— the 1.x coordinate is now a thin wrapper over core + the PDF backend, so existing callers upgrade with **no code and no dependency change**. Reached the built-in templates through the single 1.x jar? Add `graph-compose-templates` (imports are unchanged) — the [migration guide](./docs/migration/v2.0.0-modules.md) walks every case, including the removed deprecated APIs and their replacements.
211
+
-**Templates are their own artifact**— the CV / cover-letter / invoice / proposal preset families moved to `graph-compose-templates` (imports unchanged). This is the [one dependency-level break](./docs/migration/v2.0.0-modules.md#the-one-break-templates) of the split.
212
+
-**`graph-compose-bundle`**— one batteries-included coordinate: PDF stack + templates + fonts + colour emoji.
213
+
-**Retired surface**— the APIs deprecated across 1.6–1.9 are removed, the layered template packages dropped their `.v2` suffix, and `BusinessTheme` plus the classic pre-layered presets are gone — each removal has a named replacement in the [migration guide](./docs/migration/v2.0.0-modules.md).
214
+
215
+
Everything the 1.9 line added — in-document navigation, native TOC and page references, bookmarks, multi-section documents, inline chips / SVG icons / colour emoji, render-to-image — ships unchanged in 2.0. Full history in [`CHANGELOG.md`](./CHANGELOG.md).
0 commit comments