X Tutup
Skip to content

feat: allow list of strings for headline and custom headline separator#635

Draft
aasim-m wants to merge 3 commits intorendercv:mainfrom
aasim-m:feature/header-tagline
Draft

feat: allow list of strings for headline and custom headline separator#635
aasim-m wants to merge 3 commits intorendercv:mainfrom
aasim-m:feature/header-tagline

Conversation

@aasim-m
Copy link

@aasim-m aasim-m commented Jan 12, 2026

Types of Changes

  • New feature (non-breaking change which adds functionality)

Description

This PR improves the flexible configuration of the CV headline by adding:

  1. List Support: Users can now provide a list of strings for cv.headline (e.g., ["Role A", "Role B"]) instead of just a single string.
  2. Custom Separator: Added design.header.headline_separator (defaulting to ) to allow customization of how the headline items are joined.

Technical Details

  • Schema: Updated CV model in src/rendercv/schema/models/cv/cv.py to allow list[str] for headline.
  • Design: Added headline_separator to the Header model in src/rendercv/schema/models/design/classic_theme.py.
  • Processing: Updated src/rendercv/renderer/templater/model_processor.py to correctly apply string processors to individual items when headline is a list.
  • Templates: Updated Typst (src/rendercv/renderer/templater/templates/typst/Header.j2.typ) and Markdown (src/rendercv/renderer/templater/templates/markdown/Header.j2.md) templates to join these items using the configured separator.

@aasim-m
Copy link
Author

aasim-m commented Jan 13, 2026

Tests pass locally on Windows with pytest --update-testdata. The CI failures appear to be platform-specific binary mismatches in the generated PDFs. Please advise if I should treat this as a pass or if you need me to adopt the CI's artifacts.

@sinaatalay
Copy link
Member

Yes, you need to commit the updated testdata, as described here:
https://docs.rendercv.com/developer_guide/testing/#updating-reference-files

I won’t be available to work on RenderCV for a while, but I’ll review this as soon as I’m back.

@aasim-m
Copy link
Author

aasim-m commented Jan 13, 2026

Tests are passing now. I re-ran update-testdata using uv run to ensure the updated reference files matched the pinned dependencies in uv.lock, which resolved the binary mismatch with the CI runner.

@sinaatalay
Copy link
Member

Can you please explain in more detail how this feature is useful and how it appears in the PDF? It increases the complexity of the schema, so I want to make sure we really need it.

@sinaatalay sinaatalay marked this pull request as draft February 16, 2026 11:54
@sinaatalay sinaatalay force-pushed the main branch 3 times, most recently from cff31ca to 2b08030 Compare February 17, 2026 14:04
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.

2 participants

X Tutup