fix(templates): draw the employer in Monogram Sidebar experience entries - #577
Open
DemchaAV wants to merge 1 commit into
Open
fix(templates): draw the employer in Monogram Sidebar experience entries#577DemchaAV wants to merge 1 commit into
DemchaAV wants to merge 1 commit into
Conversation
An experience entry rendered the position, the date and the description and never CvEntry.subtitle(), so every company name was missing from the rendered CV. The education block in the same preset does render its subtitle, which is what made the gap look accidental rather than chosen. The employer is now drawn between the position and the date, in the shared theme entry-subtitle style. The three presets that cap content — Monogram Sidebar, Sidebar Portrait and Mint Editorial — now say so. Entries past a per-block cap are not drawn, do not move to a continuation page, and are reported nowhere, so a caller picking one of them had no way to learn that a four-job CV shows two. Each class documents its own caps and the gallery carries the same table. The caps stay, and the documentation says why: the columns are one addRow, which is atomic, so an uncapped block does not spill onto a second page — it raises AtomicNodeTooLargeException and the CV does not render at all. Removing every cap and rendering a dense CV through each preset reproduces that immediately. Lifting them means teaching each preset to pick its own page boundaries first, the way TimelineMinimal does with ColumnPagination. Tests: MonogramSidebarContentFidelityTest pins the employer and the documented cap; both go red without this change. Full reactor gate green (762 qa tests). The Monogram Sidebar visual baseline and committed preview carry the extra line.
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.
Stacked on #576 — retarget to
developonce that merges.Why
MonogramSidebar.addExperienceEntriesrenderedentry.title(),entry.date()andentry.body()and neverentry.subtitle(). In an experience section the subtitle is theemployer, so every company name was missing from the rendered CV. The education path in
the same preset does render its subtitle, which is what made the gap look accidental
rather than chosen.
Separately, three presets drop content without saying so.
MonogramSidebar,SidebarPortraitandMintEditorialeach cap their blocks — a caller with four jobs whopicks one of them gets two, and nothing in the API or the produced PDF reports it.
What changed
The employer is drawn between the position and the date, in
theme.entrySubtitleStyle()— the shared theme style, not a preset-local one.
Each of the three presets documents its own caps, and the gallery
(
docs/templates/v2-layered/using-templates.md) carries the same table under Picking apreset.
The caps themselves are unchanged, and the documentation says why. Each preset builds
its columns as one
addRow, which is atomic: it fits a page whole or the paginator raisesAtomicNodeTooLargeException. Removing every cap and rendering a dense CV through thethree presets reproduces that immediately —
MonogramSidebarasks for 1043pt of an841pt page,
SidebarPortrait1157pt,MintEditorial894pt of 745pt — and it does so attwo experience entries, because the skill and education caps are load-bearing too. So
lifting them does not paginate; it turns a CV that silently lost an entry into one that
fails to render. Doing it properly means teaching each preset to pick its own page
boundaries, the way
TimelineMinimaldoes withColumnPagination— which that helpercannot serve as written, since it models flattened text blocks and these presets carry a
monogram ring, an SVG contact stack, a portrait and skill bars.
Verification
./mvnw -B -ntp clean verify -pl :graph-compose-core,:graph-compose-render-pdf,:graph-compose-render-docx,:graph-compose-render-pptx,:graph-compose-templates,:graph-compose-testing,:graph-compose-qa,:graph-compose-coverage -am— BUILD SUCCESS, 762 qa tests../mvnw -B -ntp javadoc:javadoc -pl :graph-compose-core,:graph-compose-templates— BUILD SUCCESS.MonogramSidebarContentFidelityTest(qa, 2 tests) pins that an experience entry namesits employer, and that the entry past the documented cap is the only one missing. Both
go red without this change.
cv-v2-layered/monogram_sidebar-page-0.png) and one committedpreview (
cv-monogram-sidebar-v2.pdf) carry the extra line; the drift gate names noothers.