docs(architecture): record Phase 4.5 builder polish
cv-builder.md (outline-driven Content tab, DnD, rich text, preview page nav, public-CV routing fix + deployment note), cv-theme-engine.md (rich text/ATS/ print), roadmap Phase 4.5 shipped. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -43,11 +43,20 @@ theme is smoke-tested automatically.
|
||||
dense), `ats-classic` (single, no graphics), `nordic` (sidebar-right), `elegant` (single, editorial),
|
||||
`creative` (sidebar-left, bold).
|
||||
|
||||
## Rich text, ATS, and print (2026-07-18)
|
||||
|
||||
- **Rich-text bullets** are shipped: bullets/summary support `**bold**`, `*italic*`, `__underline__`,
|
||||
`[text](url)` via `ThemedCvRenderer.Inline` — everything is HTML-escaped first, then a whitelist is
|
||||
re-applied, so no user tag survives. Storage stays plain text (no HTML, no sanitiser dependency).
|
||||
- **ATS-friendliness** is a data flag: `CvTheme.AtsFriendly` (set on the single-column themes),
|
||||
surfaced in `GET /api/cv/themes` and badged in the Customize tab. Two-column (sidebar) themes are not
|
||||
flagged, as sidebar layouts can trip naive resume parsers.
|
||||
- **Print quality**: the renderer emits `break-inside: avoid` on entries, `break-after: avoid` on
|
||||
section headings, and widow/orphan control, so entries don't split across a page in the Playwright
|
||||
PDF pass.
|
||||
|
||||
## Deliberately not here (yet)
|
||||
|
||||
- **Rich-text inside bullets.** The render model treats bullets as plain strings, so the builder's text
|
||||
areas are plain text. Adding bold/italic/links means the render model carries inline runs and the
|
||||
renderer emits them — a self-contained extension, no theme changes.
|
||||
- **PDF page numbers.** `ShowPageNumbers` is carried through settings but the actual footer is a
|
||||
Playwright `footerTemplate` concern (the PDF exporter), not CSS paged-media (Chromium's margin boxes
|
||||
are unreliable). Wire it in `PlaywrightCvPdfExporter` when needed.
|
||||
|
||||
Reference in New Issue
Block a user