feat(cv): rebuild professional resume studio
This commit is contained in:
@@ -24,15 +24,19 @@ which is retained only for the legacy tailored-draft flow and is not used by the
|
||||
| Spacing | `PageMarginMm`, `SectionGapMm`, `EntryGapMm` |
|
||||
| Styling | `HeaderStyle` (`plain`\|`band`\|`centered`\|`kicker`), `HeadingStyle` (`caps-rule`\|`underline`\|`plain`\|`bar`), `PhotoShape` (`none`\|`square`\|`rounded`\|`circle`), `DefaultIcons` |
|
||||
|
||||
The renderer computes CSS variables from these plus the variant's runtime overrides (accent, fonts,
|
||||
density, page size, photo, icons) and picks one of the layout wrappers. `SidebarSections` decides which
|
||||
section keys move to the sidebar for the two-column layouts.
|
||||
The renderer computes CSS from these plus normalized variant overrides: printable palette, curated
|
||||
fonts, body/heading size, line height, spacing, page size, layout, sidebar width/content, header and
|
||||
heading treatments, skills presentation, photo and icons. `SidebarSections` decides which section
|
||||
keys move to the sidebar for the two-column layouts. Changing a template or override never transforms
|
||||
the structured career content.
|
||||
|
||||
## Adding a theme
|
||||
|
||||
1. Append one `CvTheme { … }` to `CvThemeCatalog.Themes` (`JobTrackerApi/Models/CvTheme.cs`). Only override the
|
||||
fields that differ from the defaults.
|
||||
2. Nothing else. It appears in `GET /api/cv/themes`, the Customize tab picker, and renders.
|
||||
2. Nothing else. It appears in `GET /api/cv/themes`, the Template tab and dashboard create flow.
|
||||
`GET /api/cv/themes/{id}/preview` renders isolated in-memory sample data for a real visual thumbnail;
|
||||
preview data is never persisted.
|
||||
|
||||
Add a `CvBuilderTests.Every_catalog_theme_renders_valid_html` already loops the whole catalog, so a new
|
||||
theme is smoke-tested automatically.
|
||||
|
||||
Reference in New Issue
Block a user