feat: Mint Editorial preset + showcase v2 swap + redesign#77
Merged
Conversation
Two-page two-column editorial CV ported from the Mint Editorial design: centered spaced-caps masthead with a full-width mint accent rule, a left sidebar (contact icon rows, interests, education, expertise, level-driven skill bars, social) beside a main column (profile, experience, awards and references two-column grids). MintEditorialLetter reuses the same theme and masthead 1:1. Layered additions: - data: CvSkill(name, optional level) + SkillGroup leveled entries, backward-compatible (name-only renderers and existing baselines unchanged). - theme: CvTheme.mintEditorial() (Poppins; mint accent in palette.banner()). - widgets: reusable SkillBar (proficiency bar) and IconTextRow. - presets: MintEditorial (cv/v2) + MintEditorialLetter (coverletter/v2). - examples: Rose Harris showcase dataset, local to the Mint example so the shared sampleCvDocumentV2 stays untouched. Local checkpoint of the visually-approved render. Parity 15/15 (no baseline drift), Mint + widget + skills smoke tests green, full verify passes. Follow-ups: parity baseline registration, docs/CHANGELOG, customizable accent/header colour options.
docs/index.html hardcodes the version in five spots (JSON-LD softwareVersion, JitPack downloadUrl, hero badge, Maven + Gradle install snippets) that do not inherit from the pom — they had silently drifted to v1.6.1 while the library shipped v1.6.4 because nothing bumped or guarded them. - VersionConsistencyGuardTest.showcaseSiteVersionMatchesTheProjectVersion: fails the verify gate if any of the five spots lags behind the root pom, matching the existing guard on the README install snippets. - cut-release.ps1 Update-IndexHtmlVersion: bumps all five spots in lockstep with README + poms during the release commit, and stages docs/index.html alongside the rest of the release artefacts. - SHOWCASE.md: rewritten to match reality — previews and the gallery manifest are auto-generated by ShowcaseSync under docs/showcase/ (pdf + screenshots), not hand-edited under docs/assets/ as the old doc claimed.
- Tokenize the colour system into semantic CSS variables and add an html[data-theme="light"] override block. Inline no-FOUC theme init in <head> reads localStorage before first paint; dark stays default. - Sun/moon toggle in the header, persists to localStorage. Code panels intentionally stay dark in both themes (code reads best dark). - Space Grotesk display face on the major headings via Google Fonts (hero h1, section h2, category headings, card titles); body stays Inter. - Unify the dual cyan + amber accents into a single premium indigo (#6366f1) across buttons, tags, code tokens, focus rings. - Gallery card previews now crop to the top band of each document (object-fit cover, top-aligned, height ≈ 248px) for uniform, scannable cards — the full A4 page is still one click away in the lightbox. - Bump the hardcoded site version 1.6.1 → 1.6.4 to match the current pom (guarded by the test added in the previous commit). - Fix a broken footer migration-guide link (docs/ → docs/roadmaps/).
The site gallery was rendering the deprecated Gen-2
CvTemplateGalleryFileExample / CoverLetterTemplateGalleryFileExample
outputs. CV authoring has moved to the v2 layered stack (cv/v2 +
coverletter/v2) where the rendered documents look better; this swap
brings the showcase site over.
- Add five missing v2 CV examples (CvBlueBannerExample,
CvCenteredHeadlineExample, CvClassicSerifExample, CvCompactMonoExample,
CvNordicCleanExample) mirroring the existing CvBoxedV2Example shape.
All 16 cv/v2 presets now have a runnable example.
- CvMinimalUnderlinedExample now writes cv-minimal-underlined-v2.pdf
(was cv-minimal-underlined.pdf) so the basename matches the v2 slug
convention every other preset already uses.
- GenerateAllExamples drops the Gen-2 gallery callers and runs all 16
individual v2 CV examples plus all 15 paired v2 cover-letter
examples (Cv<Name>LetterV2Example).
- ShowcaseMetadata: cv() / letter() helpers now take an explicit
exampleClass and point at /v2/ paths. The 14 cv entries grow to 16
(-v2 slugs plus Minimal Underlined and Mint Editorial); the 14 letter
entries grow to 15 (-v2 slugs plus the Mint Editorial paired letter).
- Regenerated docs/showcase/{pdf,screenshots} and docs/examples.json
via GenerateAllExamples then ShowcaseSync, and removed the orphaned
Gen-2 PDFs and PNGs they superseded.
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.
Summary
Four-commit branch that:
docs/index.htmlversion guard inVersionConsistencyGuardTestand anUpdate-IndexHtmlVersionstep incut-release.ps1— the showcase site had silently drifted to v1.6.1 while the library shipped v1.6.4 because nothing bumped or guarded the hardcoded version. Also rewritesdocs/SHOWCASE.mdto match the realShowcaseSyncflow.html[data-theme="light"]overrides, sun/moon toggle in the header (persists tolocalStorage, dark default), Space Grotesk display headings via Google Fonts, unified single indigo accent (replaces the old cyan + amber pair), gallery cards now crop to the top band of each document for uniform scannable previews (full A4 still in the lightbox). Bumps the hardcoded site version1.6.1→1.6.4(guarded by the test above) and fixes a broken footer migration-guide link.CvMinimalUnderlinedExampleoutput renamed tocv-minimal-underlined-v2.pdfto match the v2 slug convention;GenerateAllExamplesdrops the Gen-2 gallery callers and runs all 16 v2 CV + 15 paired v2 cover-letter examples;ShowcaseMetadata.cv()/letter()helpers now take an explicitexampleClassand point at/v2/paths (16 cv + 15 letter entries); regenerateddocs/showcase/{pdf,screenshots}+docs/examples.json; removed the orphaned Gen-2 PDFs and PNGs.Test plan
./mvnw verify -pl .green (incl. the newVersionConsistencyGuardTest.showcaseSiteVersionMatchesTheProjectVersion)GenerateAllExamplesruns all 31 v2 templates cleanly (16 + 15)ShowcaseSyncregeneratesdocs/showcase/{pdf,screenshots}+docs/examples.jsonwithout orphans