Skip to content

BL-16822 Book CSS for inline (Word-style) images, and a layout suite for it - #8319

Draft
hatton wants to merge 1 commit into
BL-16822-inline-1-menu-refactorfrom
BL-16822-inline-2-book-css
Draft

BL-16822 Book CSS for inline (Word-style) images, and a layout suite for it#8319
hatton wants to merge 1 commit into
BL-16822-inline-1-menu-refactorfrom
BL-16822-inline-2-book-css

Conversation

@hatton

@hatton hatton commented Sep 7, 2026

Copy link
Copy Markdown
Member

The rules that make a picture sit inside a text block with the text flowing around
it: the four docks, the width and aspect-ratio custom properties the editor writes,
the vertical offset, and the shape-outside that gives the wrap its contour.

They live in their own file, src/content/bookLayout/inlineImages.less, because two
themes need them and a second copy would drift. basePage-sharedRules.less imports it
for the current themes; basePage-legacy-5-6.less imports the same file, because that
legacy copy of basePage.css was frozen long before this feature existed and a book
using the legacy theme can still contain a picture in its text.

This is the part of the feature that lands in published books, so it comes with its
own layout suite: bookEdit/inline-images-e2e/ builds pages from the compiled book CSS
and measures the wrap geometry directly. Unlike the canvas suite next to it, it needs
no running Bloom, which is why it is registered as its own pnpm e2e inline-images
target and excluded from the vitest globs.

Card: https://issues.bloomlibrary.org/youtrack/issue/BL-16822


🤖 Generated with Claude Code

https://claude.ai/code/session_014DCBGajN5YyAYPBenEf1yy

Devin review


This change is Reviewable

…for it

The rules that make a picture sit inside a text block with the text flowing around
it: the four docks, the width and aspect-ratio custom properties the editor writes,
the vertical offset, and the shape-outside that gives the wrap its contour.

They live in their own file, src/content/bookLayout/inlineImages.less, because two
themes need them and a second copy would drift. basePage-sharedRules.less imports it
for the current themes; basePage-legacy-5-6.less imports the same file, because that
legacy copy of basePage.css was frozen long before this feature existed and a book
using the legacy theme can still contain a picture in its text.

This is the part of the feature that lands in published books, so it comes with its
own layout suite: bookEdit/inline-images-e2e/ builds pages from the compiled book CSS
and measures the wrap geometry directly. Unlike the canvas suite next to it, it needs
no running Bloom, which is why it is registered as its own `pnpm e2e inline-images`
target and excluded from the vitest globs.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014DCBGajN5YyAYPBenEf1yy
@hatton
hatton force-pushed the BL-16822-inline-1-menu-refactor branch from c3c2161 to c39d126 Compare September 7, 2026 19:41
@hatton
hatton force-pushed the BL-16822-inline-2-book-css branch from ade2a25 to a2403dd Compare September 7, 2026 19:41
@hatton

hatton commented Sep 7, 2026

Copy link
Copy Markdown
Member Author

[Claude Opus 5 (1M context) from Hatton's machine during devin-review]

Consulted Devin on 2026-09-07 12:46 MDT up to commit ade2a255ca.

It raised nothing on this PR.

The fixes were amended into this branch after the review, so the commit above is not the current head; a fresh review is running against the new one. The only GitHub check on this PR is pr-automation (the review trigger), which passed; the front-end unit suite (915 tests), the C# spreadsheet tests (415) and the end-to-end suite (85) were all run locally and are green.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant