From bee9d88537ccdc48186345a11d30f59533c00f4a Mon Sep 17 00:00:00 2001 From: DemchaAV Date: Sat, 4 Jul 2026 03:18:43 +0100 Subject: [PATCH 1/9] chore: start 0.4.0-SNAPSHOT Post-release: bump develop to 0.4.0-SNAPSHOT (root + cli/examples gcmd.version + module versions in lockstep) and reopen the CHANGELOG [Unreleased] section. --- CHANGELOG.md | 2 ++ cli/pom.xml | 4 ++-- examples/pom.xml | 4 ++-- pom.xml | 2 +- 4 files changed, 7 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b31450a..5b3d7f2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,8 @@ All notable changes to **graph-compose-markdown** are documented here. The format is loosely based on [Keep a Changelog](https://keepachangelog.com/), and the project follows [Semantic Versioning](https://semver.org/). +## [Unreleased] + ## v0.3.0 — 2026-07-04 ### Build diff --git a/cli/pom.xml b/cli/pom.xml index 2d8e9ed..7ee027e 100644 --- a/cli/pom.xml +++ b/cli/pom.xml @@ -19,7 +19,7 @@ --> io.github.demchaav graph-compose-markdown-cli - 0.3.0 + 0.4.0-SNAPSHOT jar graph-compose-markdown CLI @@ -28,7 +28,7 @@ 17 UTF-8 - 0.3.0 + 0.4.0-SNAPSHOT 4.7.6 6.1.1 3.27.7 diff --git a/examples/pom.xml b/examples/pom.xml index 6fdabde..dc3a43d 100644 --- a/examples/pom.xml +++ b/examples/pom.xml @@ -15,7 +15,7 @@ --> io.github.demchaav graph-compose-markdown-examples - 0.3.0 + 0.4.0-SNAPSHOT jar graph-compose-markdown examples @@ -26,7 +26,7 @@ UTF-8 - 0.3.0 + 0.4.0-SNAPSHOT true true diff --git a/pom.xml b/pom.xml index df99f8f..d9e3792 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ io.github.demchaav graph-compose-markdown - 0.3.0 + 0.4.0-SNAPSHOT GraphCompose Markdown A themeable Markdown document composer powered by the GraphCompose layout engine. From b0b656f724fce65912642a7c463d065c15a3ce5e Mon Sep 17 00:00:00 2001 From: Artem Demchyshyn <132658418+DemchaAV@users.noreply.github.com> Date: Mon, 6 Jul 2026 12:11:36 +0100 Subject: [PATCH 2/9] fix: pick up GraphCompose 1.9.1 (inline-code column overflow) (#47) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Long inline-code with no spaces — package coordinates, FQCNs, URLs — overflowed its table cell or paragraph on the 1.9.0 engine, drawing over the neighbouring column or off the right page margin (graph-compose-markdown renders inline code through RichText.highlight, the exact path the engine fix repairs). Bump graphcompose.version 1.9.0 -> 1.9.1 so develop (and the eventual 0.4.0) carries the fix; the 0.3.x line ships it as 0.3.1. No source or public API change. --- CHANGELOG.md | 8 ++++++++ pom.xml | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5b3d7f2..bc5dd50 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,14 @@ and the project follows [Semantic Versioning](https://semver.org/). ## [Unreleased] +### Build +- **GraphCompose engine bumped 1.9.0 → 1.9.1.** Long inline-code tokens with no spaces + (package coordinates, fully-qualified class names, URLs) now break *within* their table + cell or paragraph — at `.` `:` `/` `-` seams, char-splitting only as a last resort — instead + of overflowing the neighbouring column or the right page margin; `auto()` engine table + columns also grow to fit composed cell content. No public API change. (Also shipped as the + `0.3.1` patch on the 0.3.x line.) + ## v0.3.0 — 2026-07-04 ### Build diff --git a/pom.xml b/pom.xml index d9e3792..8295557 100644 --- a/pom.xml +++ b/pom.xml @@ -46,7 +46,7 @@ 17 - 1.9.0 + 1.9.1 1.0.0 1.0.0 0.64.8 From 7f9095b2b769bf973a1fca00267bc9abb0a9a192 Mon Sep 17 00:00:00 2001 From: Artem Demchyshyn <132658418+DemchaAV@users.noreply.github.com> Date: Mon, 13 Jul 2026 17:43:46 +0100 Subject: [PATCH 3/9] build: migrate to GraphCompose engine 2.0.0 (#48) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit GraphCompose 2.0 splits the monolithic engine into per-concern modules, but the `io.github.demchaav:graph-compose` coordinate stays the drop-in default — it is now a thin aggregator over `graph-compose-core` + `graph-compose-render-pdf`. So this consumer migrates with a single-line version bump and keeps rendering PDF with no dependency change and no change to any public type. What changed: - pom.xml: graphcompose.version 1.9.1 -> 2.0.0 (the sole engine pin; cli/ and examples/ resolve 2.0.0 transitively, fonts/emoji keep their own version lines). - InlineRendererTest: 2.0 removed the deprecated linkOptions() read accessor on the engine's inline runs; the test now reads the surrounding link through linkTarget() / ExternalLinkTarget.options().uri() (and now asserts the preserved URI, not just non-null). Main source is unchanged. - CHANGELOG: [Unreleased] Build entry documenting the bump. - README: refresh the stale "GraphCompose 1.9" sample prose to 2.0. Verification: 188 library tests + the CLI suite pass on 2.0.0, the examples module compiles, and QuickStartExample renders a real PDF end-to-end (proving the render-pdf backend is present transitively — no MissingBackendException). Version-lockstep is untouched (all 0.4.0-SNAPSHOT). --- CHANGELOG.md | 9 +++++++++ README.md | 2 +- pom.xml | 2 +- .../demchaav/markdown/render/InlineRendererTest.java | 12 ++++++++++-- 4 files changed, 21 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index bc5dd50..b66eb7d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,15 @@ and the project follows [Semantic Versioning](https://semver.org/). ## [Unreleased] ### Build +- **GraphCompose engine bumped 1.9.1 → 2.0.0.** The 2.0 release splits the monolithic engine + into per-concern modules, but `io.github.demchaav:graph-compose` stays the drop-in default — + it is now a thin aggregator over `graph-compose-core` + `graph-compose-render-pdf`, so this + library keeps rendering PDF with **no dependency change and no change to `MarkdownComposer` + or any public type**. The optional `graph-compose-fonts` / `graph-compose-emoji` add-ons keep + their own version lines and are unchanged. The only source touched was a test: 2.0 removed the + deprecated `linkOptions()` read-accessor on the engine's inline runs, so `InlineRendererTest` + now reads the surrounding link through `linkTarget()` / `ExternalLinkTarget.options().uri()` + (the value it asserts is unchanged). 188 library tests + the CLI suite pass on 2.0.0. - **GraphCompose engine bumped 1.9.0 → 1.9.1.** Long inline-code tokens with no spaces (package coordinates, fully-qualified class names, URLs) now break *within* their table cell or paragraph — at `.` `:` `/` `-` seams, char-splitting only as a last resort — instead diff --git a/README.md b/README.md index 261eae2..da5eb42 100644 --- a/README.md +++ b/README.md @@ -100,7 +100,7 @@ import java.nio.file.Path; String md = """ # Release notes - GraphCompose **1.9** ships *themeable* Markdown rendering. + GraphCompose **2.0** ships *themeable* Markdown rendering. - Headings, lists and `inline code` - Syntax-highlighted code blocks diff --git a/pom.xml b/pom.xml index 8295557..1e71597 100644 --- a/pom.xml +++ b/pom.xml @@ -46,7 +46,7 @@ 17 - 1.9.1 + 2.0.0 1.0.0 1.0.0 0.64.8 diff --git a/src/test/java/io/github/demchaav/markdown/render/InlineRendererTest.java b/src/test/java/io/github/demchaav/markdown/render/InlineRendererTest.java index 7875bf6..a7fccd2 100644 --- a/src/test/java/io/github/demchaav/markdown/render/InlineRendererTest.java +++ b/src/test/java/io/github/demchaav/markdown/render/InlineRendererTest.java @@ -6,6 +6,7 @@ import com.demcha.compose.document.node.InlineRun; import com.demcha.compose.document.node.InlineShapeRun; import com.demcha.compose.document.node.InlineTextRun; +import com.demcha.compose.document.node.ExternalLinkTarget; import com.demcha.compose.document.node.InternalLinkTarget; import io.github.demchaav.markdown.extension.ImageResolver; import io.github.demchaav.markdown.model.inline.CodeRun; @@ -85,7 +86,10 @@ void inlineImageInsideALinkCarriesTheLinkAnnotation() { InlineImageRun image = (InlineImageRun) rich.runs().stream() .filter(InlineImageRun.class::isInstance).findFirst().orElseThrow(); - assertThat(image.linkOptions()).isNotNull(); // the surrounding link is threaded onto the image + // the surrounding link is threaded onto the image as an external-URI target + assertThat(image.linkTarget()).isInstanceOf(ExternalLinkTarget.class); + assertThat(((ExternalLinkTarget) image.linkTarget()).options().uri()) + .isEqualTo("https://example.com"); } @Test @@ -162,7 +166,11 @@ void externalLinkStillCarriesAUriTarget() { List.of(new LinkRun("https://example.com", null, List.of(new TextRun("site")))), BASE); InlineTextRun run = (InlineTextRun) rich.runs().get(0); - assertThat(run.linkOptions()).as("external link keeps its URI options").isNotNull(); + assertThat(run.linkTarget()) + .as("external link keeps its URI target") + .isInstanceOf(ExternalLinkTarget.class); + assertThat(((ExternalLinkTarget) run.linkTarget()).options().uri()) + .isEqualTo("https://example.com"); } private static byte[] png(int width, int height) { From be6ff83d89160bf2260acf60ce9c4d56987daa05 Mon Sep 17 00:00:00 2001 From: DemchaAV Date: Sun, 26 Jul 2026 19:26:08 +0100 Subject: [PATCH 4/9] feat(render): keep a heading with the block it introduces A heading rendered at a page bottom could be left there alone while the body it introduces flowed to the next page. GraphCompose 2.1.0 adds the opt-in rule for exactly this -- SectionBuilder.keepWithNext() -- but it is a node-level pagination property and ParagraphNode cannot carry one, while HeadingRenderer emits a heading as a paragraph. So the paragraph is now wrapped in a one-child section that carries the flag. The bookmark and the anchor stay on the paragraph, so outline entries and #slug destinations still resolve to the heading's own position rather than the wrapper's. PageTokens gains keepHeadingWithNext (default true) so a theme can restore the plain flow; the three-argument constructor is kept as an overload defaulting the flag on, so existing theme code compiles and renders identically apart from the fix. The engine bump to 2.1.0 also makes the PDF backend draw UNDERLINE and STRIKETHROUGH, which every theme already asked for through ShapeTokens.underlineLinks and which ~~strike~~ already mapped to; both had been silently rendering as plain text. Known limitation, recorded in the CHANGELOG: a heading followed by a block this library marks keepTogether() (blockquote, code panel, callout, alert, front matter) is still stranded. The engine lookahead measures the following block's first line, but a keep-together block cannot split and relocates whole. That needs LayoutCompiler.leadingUnitHeight to treat a keep-together node that fits on a page as its own leading unit. Tests: HeadingKeepWithNextTest pins the orphan window from both sides -- the heading joins its body with the token on, and the untreated flow strands it with the token off -- plus a no-op case with room to spare and an outline check. 193 library tests and 7 CLI tests green on the 2.1.0 engine. --- CHANGELOG.md | 27 ++++ docs/theming.md | 12 +- pom.xml | 2 +- .../markdown/render/BuiltinRenderers.java | 21 ++- .../markdown/theme/tokens/PageTokens.java | 24 +++- .../markdown/HeadingKeepWithNextTest.java | 129 ++++++++++++++++++ 6 files changed, 206 insertions(+), 9 deletions(-) create mode 100644 src/test/java/io/github/demchaav/markdown/HeadingKeepWithNextTest.java diff --git a/CHANGELOG.md b/CHANGELOG.md index b66eb7d..9216fae 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,7 +6,34 @@ and the project follows [Semantic Versioning](https://semver.org/). ## [Unreleased] +### Public API +- **A heading is no longer stranded at the bottom of a page, apart from the content it + introduces.** `HeadingRenderer` now wraps its paragraph in a one-child section marked + `SectionBuilder.keepWithNext()` (the engine's opt-in orphan rule, new in GraphCompose + 2.1.0), so a heading that fits at a page bottom but whose body's first line does not + moves down to join it. The flag has to sit on a section because it is a node-level + pagination property and a paragraph cannot carry one; the bookmark and the anchor stay + on the paragraph, so outline entries and `#slug` link destinations resolve to the + heading's own position exactly as before. Documents with no orphan render unchanged. +- **`PageTokens` gains `keepHeadingWithNext`** (default `true`), so a theme can restore the + plain flow. The previous three-argument constructor is kept as an overload that defaults + the flag on, so existing theme code compiles and behaves identically apart from the fix. + + Known limitation: the rule cannot yet rescue a heading followed by a block this library + marks `keepTogether()` — a blockquote, code panel, callout, alert or front-matter box. + The engine's lookahead measures the first *line* of the following block, but a + keep-together block cannot split, so it relocates whole and leaves the heading behind. + Fixing that needs `LayoutCompiler.leadingUnitHeight` to treat a keep-together node that + fits on a page as its own leading unit. Paragraph, list and table bodies are unaffected. + ### Build +- **GraphCompose engine bumped 2.0.0 → 2.1.0.** Brings `SectionBuilder.keepWithNext()` (used + above) and two rendering fixes this library benefits from with no source change: the PDF + backend now actually draws `UNDERLINE` and `STRIKETHROUGH`, so the link underlines every theme + already asks for through `ShapeTokens.underlineLinks` and `~~strikethrough~~` stop rendering as + plain text, and `DocumentColor.rgba` alpha is honoured on text, lines, borders and table fills. + Metrics are unchanged — the marks are painted at measured positions — so nothing reflows. + PDFBox moves 3.0.7 → 3.0.8 transitively. 193 library tests pass on 2.1.0. - **GraphCompose engine bumped 1.9.1 → 2.0.0.** The 2.0 release splits the monolithic engine into per-concern modules, but `io.github.demchaav:graph-compose` stays the drop-in default — it is now a thin aggregator over `graph-compose-core` + `graph-compose-render-pdf`, so this diff --git a/docs/theming.md b/docs/theming.md index 5d4b1c7..8631120 100644 --- a/docs/theming.md +++ b/docs/theming.md @@ -26,7 +26,7 @@ Pure cosmetic values, grouped: | `TypographyTokens` | body / heading / code font families, body & code sizes, line spacing, the six heading sizes | | `SpacingTokens` | block gaps, paddings, table cell padding | | `ShapeTokens` | corner radii, border/line weights | -| `PageTokens` | page size, margins, content width | +| `PageTokens` | page size, margins, content width, `keepHeadingWithNext` | | `SyntaxColors` | code highlight colors (keyword, string, comment, number, annotation, function) | Swap a token group to reskin everything that derives from it. Tokens are immutable @@ -38,6 +38,16 @@ MarkdownTokens tokens = base.tokens() .withSyntax(SyntaxColors.defaultDark()); ``` +`PageTokens.keepHeadingWithNext` (default `true`) is the one non-cosmetic token: it +decides whether a heading may be left stranded as the last block on a page, apart +from the content it introduces. Set it to `false` for the plain flow: + +```java +PageTokens page = base.tokens().page(); +MarkdownTokens tokens = base.tokens().withPage( + new PageTokens(page.pageSize(), page.margin(), page.contentWidth(), false)); +``` + ## Layer 2 — component styles (`MarkdownStyles`) `MarkdownStyles` derives per-element styles (`CodeBlockStyle`, `QuoteStyle`, diff --git a/pom.xml b/pom.xml index 1e71597..9fe6baa 100644 --- a/pom.xml +++ b/pom.xml @@ -46,7 +46,7 @@ 17 - 2.0.0 + 2.1.0 1.0.0 1.0.0 0.64.8 diff --git a/src/main/java/io/github/demchaav/markdown/render/BuiltinRenderers.java b/src/main/java/io/github/demchaav/markdown/render/BuiltinRenderers.java index 0a61dae..dc4064e 100644 --- a/src/main/java/io/github/demchaav/markdown/render/BuiltinRenderers.java +++ b/src/main/java/io/github/demchaav/markdown/render/BuiltinRenderers.java @@ -1,5 +1,6 @@ package io.github.demchaav.markdown.render; +import com.demcha.compose.document.dsl.ParagraphBuilder; import com.demcha.compose.document.dsl.RichText; import com.demcha.compose.document.dsl.SectionBuilder; import com.demcha.compose.document.image.DocumentImageFitMode; @@ -29,10 +30,12 @@ import io.github.demchaav.markdown.theme.style.InlineStyle; import io.github.demchaav.markdown.theme.style.MarkdownStyles; import io.github.demchaav.markdown.theme.tokens.AlertColors; +import io.github.demchaav.markdown.theme.tokens.PageTokens; import java.util.ArrayList; import java.util.List; import java.util.Optional; +import java.util.function.Consumer; /** * The default {@link NodeRenderer} registration plus the smaller built-in renderers. @@ -76,6 +79,15 @@ public static void registerDefaults(RendererRegistry registry) { * bookmark (outline entry) at its level so the rendered document gets a navigable * heading tree in the viewer's outline pane, and declares a GitHub-style anchor so * {@code [text](#heading)} links can jump to it. + * + *

Unless the theme turns {@link PageTokens#keepHeadingWithNext()} off, the + * paragraph is wrapped in a one-child section marked + * {@link SectionBuilder#keepWithNext()}, so a heading that would otherwise be + * stranded at the bottom of a page — with nothing or a single line of its body + * under it — moves down to join the block it introduces. The flag lives on the + * section because it is a node-level pagination property and a paragraph cannot + * carry it; the bookmark and the anchor stay on the paragraph, so outline and + * link destinations resolve to the heading's own position exactly as before.

*/ public static final class HeadingRenderer implements NodeRenderer { @Override @@ -88,12 +100,17 @@ public void render(HeadingNode node, SectionBuilder host, RenderContext ctx) { // falling back to an on-the-fly slug if this heading was somehow not planned. String planned = ctx.headingSlug(node); String anchor = planned != null ? planned : ctx.headingAnchor(title); - host.addParagraph(p -> { + Consumer paragraph = p -> { p.rich(rich).margin(new DocumentInsets(above, 0, 0, 0)).anchor(anchor); if (!title.isEmpty()) { p.bookmark(new DocumentBookmarkOptions(title, node.level())); } - }); + }; + if (ctx.tokens().page().keepHeadingWithNext()) { + host.addSection(s -> s.keepWithNext().addParagraph(paragraph)); + } else { + host.addParagraph(paragraph); + } } } diff --git a/src/main/java/io/github/demchaav/markdown/theme/tokens/PageTokens.java b/src/main/java/io/github/demchaav/markdown/theme/tokens/PageTokens.java index 026f29a..415ea55 100644 --- a/src/main/java/io/github/demchaav/markdown/theme/tokens/PageTokens.java +++ b/src/main/java/io/github/demchaav/markdown/theme/tokens/PageTokens.java @@ -6,17 +6,31 @@ import java.util.Objects; /** - * Page geometry tokens. + * Page geometry and pagination tokens. * - * @param pageSize the page size - * @param margin the page margin (top, right, bottom, left) - * @param contentWidth the usable content width in points (page width minus left/right margin) + * @param pageSize the page size + * @param margin the page margin (top, right, bottom, left) + * @param contentWidth the usable content width in points (page width minus left/right margin) + * @param keepHeadingWithNext whether a heading is kept with the block it introduces across a page + * break (a theme can set {@code false} to restore the plain flow) */ -public record PageTokens(DocumentPageSize pageSize, DocumentInsets margin, double contentWidth) { +public record PageTokens(DocumentPageSize pageSize, DocumentInsets margin, double contentWidth, + boolean keepHeadingWithNext) { /** Validates the page size and margin are present. */ public PageTokens { Objects.requireNonNull(pageSize, "pageSize"); Objects.requireNonNull(margin, "margin"); } + + /** + * Creates page tokens that keep headings with their content (the default). + * + * @param pageSize the page size + * @param margin the page margin (top, right, bottom, left) + * @param contentWidth the usable content width in points + */ + public PageTokens(DocumentPageSize pageSize, DocumentInsets margin, double contentWidth) { + this(pageSize, margin, contentWidth, true); + } } diff --git a/src/test/java/io/github/demchaav/markdown/HeadingKeepWithNextTest.java b/src/test/java/io/github/demchaav/markdown/HeadingKeepWithNextTest.java new file mode 100644 index 0000000..bec9a09 --- /dev/null +++ b/src/test/java/io/github/demchaav/markdown/HeadingKeepWithNextTest.java @@ -0,0 +1,129 @@ +package io.github.demchaav.markdown; + +import io.github.demchaav.markdown.composer.MarkdownComposer; +import io.github.demchaav.markdown.theme.DefaultMarkdownTheme; +import io.github.demchaav.markdown.theme.MarkdownTheme; +import io.github.demchaav.markdown.theme.tokens.MarkdownTokens; +import io.github.demchaav.markdown.theme.tokens.PageTokens; +import org.apache.pdfbox.Loader; +import org.apache.pdfbox.pdmodel.PDDocument; +import org.apache.pdfbox.text.PDFTextStripper; +import org.junit.jupiter.api.Test; + +import static org.assertj.core.api.Assertions.assertThat; + +/** + * A heading is never left stranded as the last block on a page, apart from the + * content it introduces. The renderer wraps the heading paragraph in a one-child + * section marked {@code keepWithNext()} — the engine's opt-in orphan rule — so a + * heading that cannot share its page with the first line of the following block + * moves down to join it. + * + *

The filler count is tuned so the heading lands exactly in the window where + * the heading itself still fits but its body's first line does not: that is the + * only situation the rule acts on, and the {@code false} case pins the untreated + * behaviour so the test would fail if the wrapping silently stopped applying.

+ */ +class HeadingKeepWithNextTest { + + /** The filler count that puts the heading at the bottom of page 1 with no room for its body. */ + private static final int ORPHANING_FILLER = 32; + + private static final String HEADING = "Target heading"; + private static final String BODY_OPENING = "Body sentence that belongs"; + + private static String markdown(int fillerParagraphs) { + StringBuilder sb = new StringBuilder("# Doc\n\n"); + for (int i = 0; i < fillerParagraphs; i++) { + sb.append("Filler paragraph number ").append(i) + .append(" with enough words to occupy a full line of the page body text.\n\n"); + } + return sb.append("## ").append(HEADING).append("\n\n") + .append(BODY_OPENING).append(" under the target heading and must not be torn from it.\n\n") + .append("More body so the section is not trivially short and keeps flowing after the break.\n") + .toString(); + } + + private static MarkdownTheme theme(boolean keepHeadingWithNext) { + MarkdownTheme base = DefaultMarkdownTheme.light(); + MarkdownTokens tokens = base.tokens(); + PageTokens page = tokens.page(); + return MarkdownTheme.builder(base) + .tokens(tokens.withPage(new PageTokens( + page.pageSize(), page.margin(), page.contentWidth(), keepHeadingWithNext))) + .build(); + } + + /** @return the 1-based page carrying {@code needle}, or -1 when no page does */ + private static int pageOf(byte[] pdf, String needle) throws Exception { + try (PDDocument doc = Loader.loadPDF(pdf)) { + for (int page = 1; page <= doc.getNumberOfPages(); page++) { + PDFTextStripper stripper = new PDFTextStripper(); + stripper.setStartPage(page); + stripper.setEndPage(page); + if (stripper.getText(doc).contains(needle)) { + return page; + } + } + return -1; + } + } + + private static byte[] render(String markdown, boolean keepHeadingWithNext) { + return MarkdownComposer.builder() + .theme(theme(keepHeadingWithNext)) + .build() + .render(markdown) + .toPdfBytes(); + } + + @Test + void defaultThemeKeepsHeadingsWithTheirContent() { + assertThat(DefaultMarkdownTheme.light().tokens().page().keepHeadingWithNext()).isTrue(); + assertThat(DefaultMarkdownTheme.dark().tokens().page().keepHeadingWithNext()).isTrue(); + } + + @Test + void headingMovesDownRatherThanStrandingAtThePageBottom() throws Exception { + byte[] pdf = render(markdown(ORPHANING_FILLER), true); + + assertThat(pageOf(pdf, HEADING)) + .as("the heading shares a page with the body it introduces") + .isEqualTo(pageOf(pdf, BODY_OPENING)); + } + + @Test + void withoutTheTokenTheHeadingStrandsAtThePageBottom() throws Exception { + byte[] pdf = render(markdown(ORPHANING_FILLER), false); + + assertThat(pageOf(pdf, HEADING)) + .as("the untreated flow leaves the heading behind on the previous page") + .isLessThan(pageOf(pdf, BODY_OPENING)); + } + + /** + * The rule only acts in the narrow window where the heading strands; a heading + * with room for its body is placed exactly as before, on both settings. + */ + @Test + void headingWithRoomForItsBodyIsUnaffected() throws Exception { + String md = markdown(10); + + assertThat(pageOf(render(md, true), HEADING)).isEqualTo(pageOf(render(md, false), HEADING)); + } + + /** + * The wrapping section carries pagination only — the bookmark and the anchor + * stay on the heading paragraph, so the outline is unchanged. + */ + @Test + void wrappingDoesNotDisturbTheOutline() throws Exception { + byte[] pdf = render(markdown(ORPHANING_FILLER), true); + + try (PDDocument doc = Loader.loadPDF(pdf)) { + assertThat(doc.getDocumentCatalog().getDocumentOutline()).isNotNull(); + assertThat(doc.getDocumentCatalog().getDocumentOutline().getFirstChild().getTitle()) + .isEqualTo("Doc"); + } + } +} From 0334c795e7b8aa1f8ac82e9172fb48bdb0f8364c Mon Sep 17 00:00:00 2001 From: DemchaAV Date: Sun, 26 Jul 2026 20:04:06 +0100 Subject: [PATCH 5/9] docs: name the keep-together blocks the orphan rule cannot rescue The limitation note listed front matter, which does not request keep-together, and omitted the unsupported-block panel, which does. The five sites are CodeBlockRenderer, UnsupportedBlockRenderer, QuoteRenderer, AlertRenderer and CalloutRenderer, all unconditional. --- CHANGELOG.md | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9216fae..111efb8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,12 +19,13 @@ and the project follows [Semantic Versioning](https://semver.org/). plain flow. The previous three-argument constructor is kept as an overload that defaults the flag on, so existing theme code compiles and behaves identically apart from the fix. - Known limitation: the rule cannot yet rescue a heading followed by a block this library - marks `keepTogether()` — a blockquote, code panel, callout, alert or front-matter box. - The engine's lookahead measures the first *line* of the following block, but a - keep-together block cannot split, so it relocates whole and leaves the heading behind. - Fixing that needs `LayoutCompiler.leadingUnitHeight` to treat a keep-together node that - fits on a page as its own leading unit. Paragraph, list and table bodies are unaffected. + Known limitation: the rule cannot yet rescue a heading followed by one of the five blocks + this library marks `keepTogether()` — a code block, a blockquote, a GitHub alert, a custom + callout, or an unsupported-block panel. The engine's lookahead measures the first *line* of + the following block, but a keep-together block cannot split, so it relocates whole and leaves + the heading behind. Fixing that needs `LayoutCompiler.leadingUnitHeight` to treat a + keep-together node that fits on a page as its own leading unit. Paragraph, list, table and + image bodies are unaffected. ### Build - **GraphCompose engine bumped 2.0.0 → 2.1.0.** Brings `SectionBuilder.keepWithNext()` (used From ea65c450e653370a0663ac8b2f87054ab3db7886 Mon Sep 17 00:00:00 2001 From: DemchaAV Date: Wed, 5 Aug 2026 07:56:07 +0100 Subject: [PATCH 6/9] build: pick up GraphCompose 2.1.1 (keepWithNext sees keepTogether) 2.1.1 fixes the engine gap this library's heading rule was hitting: the keepWithNext lookahead measured the first line of the following block, but a keepTogether block has no line to break after and relocates entire, so the heading stayed behind. That is every panel-shaped block this library builds -- code block, blockquote, GitHub alert, custom callout, unsupported-block panel -- so on 2.1.0 the new rule covered paragraphs, lists and tables only. Measured through the gp-markdown-view viewer over its five sample documents: the single true orphan, kitchen-sink.md p2 '## Blockquote', survives the wrapping on 2.1.0 and is gone on 2.1.1. The CHANGELOG's known-limitation note is replaced by what now holds. 193 library tests green. --- CHANGELOG.md | 22 ++++++++++++---------- pom.xml | 2 +- 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 111efb8..3194af5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,22 +19,24 @@ and the project follows [Semantic Versioning](https://semver.org/). plain flow. The previous three-argument constructor is kept as an overload that defaults the flag on, so existing theme code compiles and behaves identically apart from the fix. - Known limitation: the rule cannot yet rescue a heading followed by one of the five blocks - this library marks `keepTogether()` — a code block, a blockquote, a GitHub alert, a custom - callout, or an unsupported-block panel. The engine's lookahead measures the first *line* of - the following block, but a keep-together block cannot split, so it relocates whole and leaves - the heading behind. Fixing that needs `LayoutCompiler.leadingUnitHeight` to treat a - keep-together node that fits on a page as its own leading unit. Paragraph, list, table and - image bodies are unaffected. + This covers every block kind, including the five this library marks `keepTogether()` — a + code block, a blockquote, a GitHub alert, a custom callout and an unsupported-block panel. + Those needed the engine fix that shipped in GraphCompose 2.1.1: on 2.1.0 the lookahead + measured the first *line* of the following block, but a keep-together block has no line to + break after — it relocates entire — so the heading was left behind. Rendering + `samples/kitchen-sink.md` from the `gp-markdown-view` viewer, the one orphan across all its + samples (`## Blockquote`) survives the wrapping alone and disappears on 2.1.1. ### Build -- **GraphCompose engine bumped 2.0.0 → 2.1.0.** Brings `SectionBuilder.keepWithNext()` (used - above) and two rendering fixes this library benefits from with no source change: the PDF +- **GraphCompose engine bumped 2.0.0 → 2.1.1.** Brings `SectionBuilder.keepWithNext()` (used + above), the 2.1.1 fix that lets its lookahead see `keepTogether()` — without which the + heading rule misses every panel-shaped block this library builds — and two rendering fixes + this library benefits from with no source change: the PDF backend now actually draws `UNDERLINE` and `STRIKETHROUGH`, so the link underlines every theme already asks for through `ShapeTokens.underlineLinks` and `~~strikethrough~~` stop rendering as plain text, and `DocumentColor.rgba` alpha is honoured on text, lines, borders and table fills. Metrics are unchanged — the marks are painted at measured positions — so nothing reflows. - PDFBox moves 3.0.7 → 3.0.8 transitively. 193 library tests pass on 2.1.0. + PDFBox moves 3.0.7 → 3.0.8 transitively. 193 library tests pass on 2.1.1. - **GraphCompose engine bumped 1.9.1 → 2.0.0.** The 2.0 release splits the monolithic engine into per-concern modules, but `io.github.demchaav:graph-compose` stays the drop-in default — it is now a thin aggregator over `graph-compose-core` + `graph-compose-render-pdf`, so this diff --git a/pom.xml b/pom.xml index 9fe6baa..3d28bcb 100644 --- a/pom.xml +++ b/pom.xml @@ -46,7 +46,7 @@ 17 - 2.1.0 + 2.1.1 1.0.0 1.0.0 0.64.8 From 853ec1a81bd5d249c08dcb54e6ea76ce364faeab Mon Sep 17 00:00:00 2001 From: DemchaAV Date: Wed, 5 Aug 2026 08:12:53 +0100 Subject: [PATCH 7/9] test: pin the navigation targets of a relocated heading Review of the keep-with-next change found two weak spots in its own test. pageOf returned -1 when the needle was on no page, so a render that produced no text at all would have two -1s compare equal and pass. It now fails outright. wrappingDoesNotDisturbTheOutline asserted that the first bookmark is titled 'Doc' -- true before the change, after it, and under any plausible breakage. It is replaced by two tests that follow the heading after it relocates: the outline entry resolves to the page the heading landed on, and a [text](#slug) link to it resolves there too, which is a separate path through a named destination rather than an outline entry. Neither test discriminates bookmark-on-paragraph from bookmark-on-wrapper -- verified by moving them and watching all six stay green, because a one-child wrapper relocates whole and never separates from its paragraph. That choice shows up only in the destination's Y (~8 pt, the heading's space-above margin), which is too brittle to assert; the javadoc says so rather than implying a guard that is not there. 194 tests green. --- .../markdown/HeadingKeepWithNextTest.java | 100 ++++++++++++++++-- 1 file changed, 92 insertions(+), 8 deletions(-) diff --git a/src/test/java/io/github/demchaav/markdown/HeadingKeepWithNextTest.java b/src/test/java/io/github/demchaav/markdown/HeadingKeepWithNextTest.java index bec9a09..8d139e0 100644 --- a/src/test/java/io/github/demchaav/markdown/HeadingKeepWithNextTest.java +++ b/src/test/java/io/github/demchaav/markdown/HeadingKeepWithNextTest.java @@ -7,9 +7,20 @@ import io.github.demchaav.markdown.theme.tokens.PageTokens; import org.apache.pdfbox.Loader; import org.apache.pdfbox.pdmodel.PDDocument; +import org.apache.pdfbox.pdmodel.PDPage; +import org.apache.pdfbox.pdmodel.interactive.action.PDActionGoTo; +import org.apache.pdfbox.pdmodel.interactive.annotation.PDAnnotation; +import org.apache.pdfbox.pdmodel.interactive.annotation.PDAnnotationLink; +import org.apache.pdfbox.pdmodel.interactive.documentnavigation.destination.PDDestination; +import org.apache.pdfbox.pdmodel.interactive.documentnavigation.destination.PDNamedDestination; +import org.apache.pdfbox.pdmodel.interactive.documentnavigation.destination.PDPageDestination; +import org.apache.pdfbox.pdmodel.interactive.documentnavigation.outline.PDOutlineItem; import org.apache.pdfbox.text.PDFTextStripper; import org.junit.jupiter.api.Test; +import java.util.ArrayList; +import java.util.List; + import static org.assertj.core.api.Assertions.assertThat; /** @@ -54,7 +65,11 @@ private static MarkdownTheme theme(boolean keepHeadingWithNext) { .build(); } - /** @return the 1-based page carrying {@code needle}, or -1 when no page does */ + /** + * @return the 1-based page carrying {@code needle} + * @throws AssertionError when no page does — otherwise a broken render would let + * two "not found" results compare equal and pass silently + */ private static int pageOf(byte[] pdf, String needle) throws Exception { try (PDDocument doc = Loader.loadPDF(pdf)) { for (int page = 1; page <= doc.getNumberOfPages(); page++) { @@ -65,7 +80,7 @@ private static int pageOf(byte[] pdf, String needle) throws Exception { return page; } } - return -1; + throw new AssertionError("'" + needle + "' is on no page of the rendered document"); } } @@ -113,17 +128,86 @@ void headingWithRoomForItsBodyIsUnaffected() throws Exception { } /** - * The wrapping section carries pagination only — the bookmark and the anchor - * stay on the heading paragraph, so the outline is unchanged. + * The outline entry points at the page the heading landed on after relocating, + * rather than the one it left. The wrapper carries the whole heading and moves as + * a unit, so this holds whichever node the bookmark rides — what it guards is the + * relocation itself staying in step with the outline, not the choice of node. + * (That choice is visible only in the destination's Y: a bookmark on the wrapper + * would point at the top of the heading's space-above margin instead of at the + * text, ~8 pt higher for an H2 in the default theme.) */ @Test - void wrappingDoesNotDisturbTheOutline() throws Exception { + void theBookmarkFollowsTheRelocatedHeading() throws Exception { byte[] pdf = render(markdown(ORPHANING_FILLER), true); + int headingPage = pageOf(pdf, HEADING); + assertThat(headingPage).as("the sample really does relocate the heading").isEqualTo(2); try (PDDocument doc = Loader.loadPDF(pdf)) { - assertThat(doc.getDocumentCatalog().getDocumentOutline()).isNotNull(); - assertThat(doc.getDocumentCatalog().getDocumentOutline().getFirstChild().getTitle()) - .isEqualTo("Doc"); + PDOutlineItem bookmark = doc.getDocumentCatalog().getDocumentOutline().getFirstChild(); + while (bookmark != null && !HEADING.equals(bookmark.getTitle())) { + bookmark = bookmark.getFirstChild() != null && HEADING.equals(bookmark.getFirstChild().getTitle()) + ? bookmark.getFirstChild() + : bookmark.getNextSibling(); + } + assertThat(bookmark).as("the heading has an outline entry").isNotNull(); + assertThat(destinationPage(doc, bookmark)) + .as("the outline entry points at the page the heading landed on") + .isEqualTo(headingPage); + } + } + + /** + * A {@code [text](#slug)} link to the relocated heading resolves to the page it + * landed on. The anchor rides the same paragraph as the bookmark, but it travels + * as a named destination rather than an outline entry, so it is a distinct path. + */ + @Test + void anAnchorLinkFollowsTheRelocatedHeading() throws Exception { + String md = "[jump](#target-heading)\n\n" + markdown(ORPHANING_FILLER); + byte[] pdf = render(md, true); + int headingPage = pageOf(pdf, HEADING); + + try (PDDocument doc = Loader.loadPDF(pdf)) { + List targets = new ArrayList<>(); + for (PDPage page : doc.getPages()) { + for (PDAnnotation annotation : page.getAnnotations()) { + if (annotation instanceof PDAnnotationLink link) { + PDDestination destination = link.getDestination(); + if (destination == null && link.getAction() instanceof PDActionGoTo goTo) { + destination = goTo.getDestination(); + } + if (destination != null) { + targets.add(resolvePage(doc, destination)); + } + } + } + } + assertThat(targets).as("the anchor link resolves to the heading's page") + .containsExactly(headingPage); + } + } + + /** @return the 1-based page an outline item points at */ + private static int destinationPage(PDDocument doc, PDOutlineItem item) throws Exception { + PDDestination destination = item.getDestination(); + if (destination == null && item.getAction() instanceof PDActionGoTo goTo) { + destination = goTo.getDestination(); + } + return resolvePage(doc, destination); + } + + /** @return the 1-based page a destination resolves to, or -1 when it cannot be resolved */ + private static int resolvePage(PDDocument doc, PDDestination destination) throws Exception { + PDDestination resolved = destination; + if (resolved instanceof PDNamedDestination named) { + resolved = doc.getDocumentCatalog().findNamedDestinationPage(named); + } + if (resolved instanceof PDPageDestination pageDestination) { + int number = pageDestination.retrievePageNumber(); + return number >= 0 + ? number + 1 + : doc.getPages().indexOf(pageDestination.getPage()) + 1; } + return -1; } } From 5573a5dd8d5f342dd3eac801ec292860aab98353 Mon Sep 17 00:00:00 2001 From: DemchaAV Date: Wed, 5 Aug 2026 08:23:33 +0100 Subject: [PATCH 8/9] chore(release): 0.4.0 Minor release. Headings stop being stranded at the bottom of a page apart from the block they introduce, and the PDF backend now draws the link underlines and strikethrough every theme already asked for -- both from moving to the GraphCompose 2.x engine line, which this release lands on at 2.1.1. The one public-API change is a fourth PageTokens component, keepHeadingWithNext, defaulting to true. The three-argument constructor is kept as an overload, so existing theme code compiles and behaves identically apart from the fix. Version literals move 0.4.0-SNAPSHOT -> 0.4.0 in lockstep across the root, cli/ and examples/ poms (the CI version-lockstep guard), README's status line and install snippet move 0.3.1 -> 0.4.0, and examples/README's install line with them. The committed manual renders are regenerated on the new engine and do change: manual.pdf 44538 -> 44685 bytes, manual-dark.pdf 44669 -> 44820. That growth is the underline and strikethrough marks the 1.9.x backend was dropping. Verified: ./mvnw clean verify green (194 tests), cli verify green (7 tests), examples compile clean against the released coordinate. --- CHANGELOG.md | 8 +++++++- README.md | 4 ++-- assets/readme/manual-dark.pdf | Bin 44669 -> 44820 bytes assets/readme/manual.pdf | Bin 44538 -> 44685 bytes cli/pom.xml | 4 ++-- examples/README.md | 2 +- examples/pom.xml | 4 ++-- pom.xml | 2 +- 8 files changed, 15 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8717d12..fd7c294 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,13 @@ All notable changes to **graph-compose-markdown** are documented here. The format is loosely based on [Keep a Changelog](https://keepachangelog.com/), and the project follows [Semantic Versioning](https://semver.org/). -## [Unreleased] +## v0.4.0 — 2026-08-05 + +Minor release: headings stop being stranded at the bottom of a page, and the PDF backend +finally draws the link underlines and strikethrough every theme was already asking for. +Both come from moving to the GraphCompose 2.x engine line (2.1.1). The only public-API +change is an added `PageTokens` component, which keeps a constructor overload, so existing +theme code compiles unchanged. ### Public API - **A heading is no longer stranded at the bottom of a page, apart from the content it diff --git a/README.md b/README.md index 8e9232d..66c12c1 100644 --- a/README.md +++ b/README.md @@ -32,7 +32,7 @@ Markdown ──Flexmark──▶ Flexmark AST ──mapper──▶ Semantic mod types downstream) ``` -> Status: `0.3.1` released. The API may still change before `1.0.0`. +> Status: `0.4.0` released. The API may still change before `1.0.0`. ## Showcase @@ -83,7 +83,7 @@ Maven (once released): io.github.demchaav graph-compose-markdown - 0.3.1 + 0.4.0 ``` diff --git a/assets/readme/manual-dark.pdf b/assets/readme/manual-dark.pdf index 58fac93801859e5ddee78866c92436173a007438..9b992c6616549f7f8dd61dae9bac865582dc24c9 100644 GIT binary patch delta 42241 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 delta 42093 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 delta 40867 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 io.github.demchaav graph-compose-markdown-cli - 0.4.0-SNAPSHOT + 0.4.0 jar graph-compose-markdown CLI @@ -28,7 +28,7 @@ 17 UTF-8 - 0.4.0-SNAPSHOT + 0.4.0 4.7.6 6.1.1 3.27.7 diff --git a/examples/README.md b/examples/README.md index 02a15ff..4f62b98 100644 --- a/examples/README.md +++ b/examples/README.md @@ -11,7 +11,7 @@ From the repository root: ./mvnw -B -ntp -DskipTests install ``` -This installs `io.github.demchaav:graph-compose-markdown:0.3.1` into your +This installs `io.github.demchaav:graph-compose-markdown:0.4.0` into your local Maven repository, which these examples depend on. ## 2. Run an example diff --git a/examples/pom.xml b/examples/pom.xml index dc3a43d..3291845 100644 --- a/examples/pom.xml +++ b/examples/pom.xml @@ -15,7 +15,7 @@ --> io.github.demchaav graph-compose-markdown-examples - 0.4.0-SNAPSHOT + 0.4.0 jar graph-compose-markdown examples @@ -26,7 +26,7 @@ UTF-8 - 0.4.0-SNAPSHOT + 0.4.0 true true diff --git a/pom.xml b/pom.xml index 3d28bcb..1fdf68d 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ io.github.demchaav graph-compose-markdown - 0.4.0-SNAPSHOT + 0.4.0 GraphCompose Markdown A themeable Markdown document composer powered by the GraphCompose layout engine. From eac194d53efbe8f1ba37812701d1554c8966dfe8 Mon Sep 17 00:00:00 2001 From: DemchaAV Date: Wed, 5 Aug 2026 10:44:08 +0100 Subject: [PATCH 9/9] docs(changelog): warn that 0.4.0 repaginates documents The heading fix is on by default and moves content, so anyone comparing rendered PDFs against committed baselines will see them drift. The entry described the fix but not its blast radius. Rendering this repository's own manual made the scale concrete: two headings were stranded there, not zero, and fixing them redrew four of six pages by 22-39 percent of their pixels. Says so, and names the two flags that restore the old flow. --- CHANGELOG.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index fd7c294..65bca0f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,18 @@ Both come from moving to the GraphCompose 2.x engine line (2.1.1). The only publ change is an added `PageTokens` component, which keeps a constructor overload, so existing theme code compiles unchanged. +### Upgrading — expect your documents to repaginate + +Both fixes are on by default, and the heading one moves content. Any document where a heading +sat at the bottom of a page now has that heading — and everything after it — one position +further down. This is not a rare shape: rendering this repository's own six-page manual, two +headings were stranded (`Ways in, ways out` and `Tables`), and fixing them redrew four of the +six pages by 22–39 % of their pixels. The page *count* did not change there, but it can. + +If you compare rendered PDFs against committed baselines, regenerate them with this release. +To keep the old flow, build `PageTokens` with the fourth argument `false`; to keep links +un-underlined, set `ShapeTokens.underlineLinks` to `false`. + ### Public API - **A heading is no longer stranded at the bottom of a page, apart from the content it introduces.** `HeadingRenderer` now wraps its paragraph in a one-child section marked