Skip to content

Commit 95f6ae0

Browse files
authored
docs(examples): add a single-slide "Available on Maven Central" banner rendered to PPTX (#432)
* docs(examples): add a single-slide Maven Central banner rendered to PPTX MavenBannerPptxExample composes an "Available on Maven Central" brand banner — wordmark, Maven coordinate card, capability tags and a code -> layout -> PDF/PPTX diagram — as one full-bleed CanvasLayerNode on a 960x540 slide, then emits it through the fixed-layout PPTX backend via DocumentSession.buildPptx(). The canvas containers use OVERFLOW_VISIBLE so the panels render as native, editable PowerPoint shapes and text rather than rasterised pictures. A vector PDF copy and a PNG preview reuse the same composition. * docs(examples): branch the banner flow into both output backends The layout box now feeds a vertical distribution bus that forks into the PDF icon (top) and the PPTX icon (bottom), each landing with an arrowhead, so the code -> layout -> output flow visibly terminates at both backends instead of stopping at a short shared stub. * test(examples): guard the Maven banner's native-PPTX output and register it Adds MavenBannerNativeShapeTest, which builds the banner through the fixed PPTX backend and asserts the slide stays native shapes and text except the single rasterised SVG checkmark — pinning the "editable in PowerPoint" promise the way TwinOutputNativeShapeTest pins the twin-output slide. Registers MavenBannerPptxExample in GenerateAllExamples so the showcase smoke test exercises it end-to-end. Also sources the 960x540 canvas from DocumentPageSize.SLIDE_16_9, adds @SInCE 2.1.0, gives each arrowhead a unique node name, and corrects the class Javadoc to read PDF/PPTX. * docs(examples): list the Maven banner in the gallery with PDF/PPTX previews Adds the flagship gallery row in examples/README.md and commits the rendered maven-banner.pdf and maven-banner.pptx under assets/readme/examples/ so the row's PDF/PPTX links resolve, matching the Twin Output treatment. * docs(changelog): note the Maven Central banner example under v2.1.0 Adds a v2.1.0 Documentation entry for MavenBannerPptxExample — the single-slide "Available on Maven Central" banner rendered to PPTX, its GenerateAllExamples registration, gallery previews and native-shape guard.
1 parent 9b694c7 commit 95f6ae0

7 files changed

Lines changed: 575 additions & 0 deletions

File tree

CHANGELOG.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -184,6 +184,16 @@ follow semantic versioning; release dates are ISO 8601.
184184
deck open in PowerPoint with the headline text frame selected — the
185185
committed artifacts land 69 native shapes with only the clip-masked logo
186186
as a picture.
187+
- New `MavenBannerPptxExample` flagship: a single 16:9 "Available on Maven
188+
Central" brand slide — the `GraphCompose` wordmark, an
189+
`io.github.demchaav:graph-compose` coordinate card, `JAVA 17+ / PDF / PPTX /
190+
AUTO-PAGINATION` tags and a `code → layout → PDF/PPTX` diagram whose amber
191+
connectors branch to both backends — composed as one full-bleed
192+
`CanvasLayerNode` and emitted as an editable PowerPoint slide via
193+
`buildPptx()`. Registered in `GenerateAllExamples` and listed in the
194+
examples gallery with committed PDF/PPTX previews; a native-shape guard
195+
(`MavenBannerNativeShapeTest`) pins the slide to a single picture (the badge
196+
checkmark) with the panels, tags, code and diagram all native.
187197
- `docs/architecture/backend-capability-matrix.md` — a per-capability matrix
188198
of what each render backend supports and which class implements it,
189199
maintained as part of every capability-changing PR.
9.84 KB
Binary file not shown.
30.5 KB
Binary file not shown.

examples/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ are with the canonical DSL, then jump to its detailed section below.
6363
| **Engine Showcase** | Single-page cinematic brand promo — semantic-graph → polished-PDFs visual metaphor with rounded clip frame, magazine headline lockup, KPI cards, capability columns; source of the README hero image | [Source](src/main/java/com/demcha/examples/flagships/EngineShowcase.java) |
6464
| **Engine Deck** | Multi-page **landscape** capability deck — page 1 is a banner infographic (DSL code → engine → backends → **real rendered-document thumbnails**), then an authoring-pipeline walkthrough, and two pages of **real benchmark data** (GraphCompose vs iText 9 vs JasperReports) loaded from a bundled result file and drawn as tables + native charts; the landscape companion to Engine Showcase. The same composition also renders as a **geometry-identical PowerPoint deck** (one page = one editable slide) through `buildPptx()` | [PDF](../assets/readme/examples/engine-deck.pdf) · [Source](src/main/java/com/demcha/examples/flagships/EngineDeckExample.java) · [PPTX source](src/main/java/com/demcha/examples/flagships/EngineDeckPptxExample.java) |
6565
| **Twin Output** | The dual-output hook stated by the artifact itself — a single 16:9 page written once and emitted **twice from the same session**: `buildPdf()` and `buildPptx(...)` produce a print-ready PDF and a PowerPoint slide with identical geometry where text, panels, and vectors stay native, editable shapes (only the clip-masked logo art lands as a picture); the root README shows PowerPoint's own render of the slide next to the PDF | [PDF](../assets/readme/examples/twin-output.pdf) · [PPTX](../assets/readme/examples/twin-output.pptx) · [Source](src/main/java/com/demcha/examples/flagships/TwinOutputExample.java) |
66+
| **Maven Central Banner** | Single 16:9 "Available on Maven Central" brand slide — the `GraphCompose` wordmark, an `io.github.demchaav:graph-compose` coordinate card, `JAVA 17+ / PDF / PPTX / AUTO-PAGINATION` tags, and a `code → layout → PDF/PPTX` diagram whose amber connectors branch to both backends — composed as one full-bleed `CanvasLayerNode` and emitted as an editable PowerPoint slide via `buildPptx()`; panels and text stay native shapes, only the badge checkmark rasterises | [PDF](../assets/readme/examples/maven-banner.pdf) · [PPTX](../assets/readme/examples/maven-banner.pptx) · [Source](src/main/java/com/demcha/examples/flagships/MavenBannerPptxExample.java) |
6667

6768
### 🧱 Core DSL
6869

examples/src/main/java/com/demcha/examples/GenerateAllExamples.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@
4949
import com.demcha.examples.flagships.FeatureCatalogExample;
5050
import com.demcha.examples.flagships.FinancialReportExample;
5151
import com.demcha.examples.flagships.MasterShowcaseExample;
52+
import com.demcha.examples.flagships.MavenBannerPptxExample;
5253
import com.demcha.examples.flagships.ModuleFirstFileExample;
5354
import com.demcha.examples.flagships.TwinOutputExample;
5455
import com.demcha.examples.templates.coverletter.CvBlueBannerLetterV2Example;
@@ -215,6 +216,7 @@ public static void main(String[] args) throws Exception {
215216
System.out.println("Generated: " + BusinessReportExample.generate());
216217
System.out.println("Generated: " + EngineDeckExample.generate());
217218
System.out.println("Generated: " + EngineDeckPptxExample.generate());
219+
System.out.println("Generated: " + MavenBannerPptxExample.generate());
218220
System.out.println("Generated: " + TwinOutputExample.generate());
219221
System.out.println("Generated: " + FinancialReportExample.generate());
220222
System.out.println("Generated: " + BookTemplateExample.generate());

0 commit comments

Comments
 (0)