docs(api): inline svg/emoji recipes, blank-anchor @throws, emoji publish setup#222
Merged
Merged
Conversation
…nlineEmoji ParagraphBuilder's inline adders now follow the existing inlineText / inlineImage / inlineLink convention: svgIcon -> inlineSvgIcon and emoji -> inlineEmoji (all overloads). RichText keeps its bare svgIcon / emoji names, which are internally consistent there. The API is unreleased (@SInCE 1.9.0), so there is no deprecation bridge. Also adds two InlineSvgRenderTest cases for inline-SVG paths that only single-line paragraphs reached before: an icon that wraps onto a later line (asserting that line grows to the icon via lineHeight > textLineHeight) and an icon inside a paragraph that splits across a page break (it still paints on its head page).
… throw - New "Inline SVG icons" and "Emoji / shortcodes" sections in the rich-text recipe, restoring the "every shipped feature has a recipe" guarantee; both recipe indexes updated. - @throws IllegalArgumentException on every link-by-anchor builder method (linkTo / inlineLinkTo / imageLinkTo / shapeLinkTo across RichText and the Paragraph / Barcode / Ellipse / Image / Line / Shape / Table builders), spelling out that a blank anchor throws while the anchor(...) setter clears. - Correct EmojiLibrary's class doc: it bundles the Noto Emoji set (SIL OFL 1.1), not a "small jdecked/twemoji starter set".
… workflow Bump central-publishing-maven-plugin 0.10.0 -> 0.11.0 in the emoji, fonts and bundle standalone poms to match the engine pom (#219); they share no parent, so the literal is swept by hand. Add publish-emoji.yml mirroring publish-fonts.yml (emoji-v* tag, -f emoji/pom.xml, -P release) so graph-compose-emoji publishes to Central independently — matching the emoji-v* prose already in emoji/pom.xml.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
Three loose ends on the inline-SVG / emoji surface that shipped in #217:
RichText.svgIcon/inlineSvgIconand
RichText.emoji/inlineEmojihad none, so the "every shipped featurehas a recipe" line in
docs/recipes/README.mdwas no longer true.IllegalArgumentExceptionon ablank anchor (
new InternalLinkTarget(anchor)), while the siblinganchor(...)setter clears on blank — an asymmetry no Javadoc mentioned.EmojiLibrary's class doc described a "small bundled starter set … replacedby the full jdecked/twemoji set", but the module ships the full Noto Emoji
set (SIL OFL 1.1).
emoji/pom.xmldescribes anemoji-v*publish path that had no workflow, andpins
central-publishingat0.10.0while the engine pom is at0.11.0.What changed
docs/recipes/rich-text.mdgains "Inline SVG icons" and"Emoji / shortcodes" sections (using the renamed
inlineSvgIcon/inlineEmoji); both recipe indexes list them.@throws IllegalArgumentException if anchor is blankon everylink-by-anchor method —
linkTo/inlineLinkTo/imageLinkTo/shapeLinkToacrossRichTextand the Paragraph / Barcode / Ellipse / Image/ Line / Shape / Table builders. The
anchor(...)setters are left untouched— they clear on blank by contract.
central-publishing-maven-plugin0.10.0→0.11.0inthe
emoji,fontsandbundlestandalone poms (no shared parent, so sweptby hand); new
.github/workflows/publish-emoji.ymlmirrorspublish-fonts.yml(
emoji-v*tag,-f emoji/pom.xml -P release), so the module publishes toCentral independently.
Verification
./mvnw test -pl .→ BUILD SUCCESS, 1466 tests;./mvnw javadoc:javadoc -pl .→ BUILD SUCCESS (the new
@throwstags are doclint-clean);./mvnw -f emoji/pom.xml validate(andfonts/bundle) → BUILD SUCCESS.Doc / Javadoc / build only — no runtime code or public method signatures change.
Lane: docs + build (release) — recipes, Javadoc, publish workflow + plugin-pin sweep.
Stacked on #221 — based on
feat/inline-svg-rename-wrap-tests(the recipe uses the renamed methods). Retarget todevelopafter #221 merges.