307 Commits

Author SHA1 Message Date
Sina Atalay
6956f39835 Address code review feedback on Hypothesis and classic_theme changes
- Update hypothesis to latest version (>=6.151.9)
- Remove pythonpath pytest config (was only needed for tests.strategies)
- Consolidate classic_theme.py into single file with all design models
- Move Hypothesis strategies from strategies.py into their test files
- Add noqa: ARG001 to unused yaml_field_override CLI parameter
- Fix lint and type errors across the codebase
2026-03-25 16:28:44 +03:00
Sina Atalay
43b255eff7 Split classic_theme.py into focused modules
Extract three modules from classic_theme.py (845 lines) to improve
navigability:

- templates.py: entry template option models and Templates class
- typography.py: Typography, FontFamily config, FontSize, SmallCaps, Bold
- header.py: Header, Connections, Links, PhoneNumberFormatType

classic_theme.py retains Page, Colors, Sections, Entries, and
ClassicTheme. All imports use absolute paths so the custom theme
generator (which copies classic_theme.py as text) continues to work.

Template entry option classes renamed from e.g. OneLineEntry to
OneLineEntryTemplate to avoid name collision with CV entry models.
2026-03-25 16:28:20 +03:00
Sina Atalay
523e6e2f0d Fix phone number docs: quote example and mention format options
The phone number example was unquoted, causing YAML to interpret it as
an integer. Also added a note about design.header.connections.phone_number_format
for controlling the display format (national/international/E164).

Ref: https://github.com/rendercv/rendercv/discussions/707
2026-03-24 16:42:49 +03:00
Sina Atalay
1ffb4c4890 Add flag_emoji property to locale model
Add a cached_property that maps each language to its primary country's
flag emoji using regional indicator symbols, with tests and updated
developer guide.
2026-03-23 03:20:53 +03:00
Sina Atalay
d475aab312 Fix logo and title hover effect to only apply when not scrolled 2026-03-21 21:27:54 +03:00
Sina Atalay
e8eb000421 Better branding in the documentation 2026-03-21 19:21:43 +03:00
Sina Atalay
e445296b79 Update skill guides 2026-03-21 03:50:18 +03:00
Sina Atalay
2eba248100 Update changelog for version 2.8 release 2026-03-21 03:14:52 +03:00
Sina Atalay
065125c52c Update rendercv-skill 2026-03-21 03:00:06 +03:00
Sina Atalay
4a89560fbc Update AI skill docs to frame as skills standard, add eval details 2026-03-21 02:57:20 +03:00
Skeleton022
a1c47095c4 Add Hungarian locale support
- Add Hungarian locale YAML with translations for time units (év, hónap), month names/abbreviations, and degree_with_area phrase
- Hungarian does not use plural after numbers, so month/months and year/years are identical
- Add "hungarian": "hu" mapping to language_iso_639_1
- Update schema.json and docs/llms.txt
2026-03-21 02:54:55 +03:00
Sina Atalay
e9da5884ad Revert "Add Hungarian locale support"
This reverts commit a259affdb6.
2026-03-21 02:51:52 +03:00
Sina Atalay
a259affdb6 Add Hungarian locale support 2026-03-21 02:47:39 +03:00
Sina Atalay
4206be2593 Fix Docker command in docs to avoid permission issues and leftover containers
- Add `--rm` to auto-remove containers after exit
- Add `-u $(id -u):$(id -g)` to run as host user (fixes PermissionError on Linux
  where container's UID 999 doesn't match host user)
- Add `-e HOME=/tmp` so Typst can create its package cache when running as an
  arbitrary UID (without this, `rendercv render` fails)
- Update both user guide and developer guide docs
2026-03-21 02:30:55 +03:00
Sina Atalay
8961744ebd Extract shared development and testing context into reusable skills
Move code guidelines from docs into two Claude Code skills so that
triage, solve, and review skills share a single source of truth
instead of duplicating project standards inline.

- Create rendercv-development-context skill with source code standards
  (type annotations, linting, docstrings) and codebase references
- Create rendercv-testing-context skill with test authoring standards
  (file structure, naming, parametrize, fixtures, principles)
- Remove docs/developer_guide/code_guidelines/ (content moved to skills)
- Remove Code Guidelines section from mkdocs.yaml nav
- Refactor solve-rendercv-issue, review-rendercv-pr, and
  triage-rendercv-issue to reference the shared context skills
2026-03-21 02:05:07 +03:00
Sina Atalay
da94718587 Update dev tooling and dependencies to latest versions
Bump black (26.3.1), ruff (0.15.7), ty (0.0.24), prek (0.3.6), typer
(0.24.1), and codespell (v2.4.2). Add ty:ignore comments and type
annotations to satisfy stricter checks in ty 0.0.24. Make skill zip
generation reproducible with a fixed timestamp.
2026-03-21 01:20:17 +03:00
Sina Atalay
9bc8c2862c Add Ink, Opal, and Ember themes with examples, docs, and test data
Ink: elegant academic theme with EB Garamond and purple palette.
Opal: modern minimalist with Lato and teal accents.
Ember: editorial theme with mixed Gentium Book Plus/Ubuntu fonts,
crimson accents, diamond bullets, and justified-with-no-hyphenation.

Updates README theme grid from 2x3 to 3x3 to showcase all 9 themes.
2026-03-20 21:25:38 +03:00
Sina Atalay
61e5396133 Update rendercv-skill 2026-03-20 21:16:54 +03:00
Sina Atalay
9b83f07ac9 Move distributable skill to rendercv/rendercv-skill submodule
The skill file lived in the main repo, which meant `npx skills add`
had to clone the entire RenderCV codebase and exposed internal dev
skills. A dedicated lightweight repo solves both problems.

- Create rendercv/rendercv-skill repo as a read-only distribution channel
- Add it as a submodule at .claude/skills/rendercv-skill/
- Update generation script and tests to write to the submodule path
- Add submodules: true to test workflow checkout steps
- Update docs, README, and install commands to use rendercv/rendercv-skill
- Add --recursive clone instruction to developer guide
- Delete the old skills/ directory at repo root
2026-03-20 20:41:53 +03:00
Sina Atalay
021c9fbde3 Add RenderCV skill with eval framework and auto-generated docs/llms.txt
- Add SKILL.md for AI agents: YAML schema reference, entry type field
  tables, design samples per theme, CLI reference, and important patterns
  (YAML quoting, phone validation, bullet characters)
- Add Jinja2 template and generate.py that auto-generates SKILL.md and
  docs/llms.txt from live Pydantic models and sample generators
- Add promptfoo eval suite (15 tests across 4 files): cv_generation,
  pdf_parsing, design, and cli_workflow
- Add deterministic grader that validates LLM output through RenderCV's
  own pydantic pipeline (not jsonschema)
2026-03-20 20:15:09 +03:00
Sina Atalay
5927cf0d00 Update Harvard theme 2026-03-20 16:52:35 +03:00
Sina Atalay
44dee63b96 Add entry figures for Harvard theme 2026-03-20 16:17:30 +03:00
Sina Atalay
4e07fa2380 Add centered section title types and bump rendercv-typst to 0.3.0
Add four new section title styles: `centered_without_line`,
`centered_with_partial_line` (baseline), `centered_with_centered_partial_line`
(middle-aligned), and `centered_with_full_line`. These allow section headings
to be centered with various line decorations, complementing the existing
left-aligned options.
2026-03-20 05:20:10 +03:00
Sina Atalay
663ced0492 Refactor docs folder structure 2026-03-20 03:45:08 +03:00
Sina Atalay
9b7830a0e1 Create new theme: harvard 2026-03-19 23:03:18 +03:00
Sina Atalay
59c02dd957 Add ATS compatibility testing suite with PDF rendering, analysis, and reporting
- Introduced `scripts/ats_proof` directory containing tools for ATS compatibility testing.
- Added scripts for rendering PDFs, analyzing text extraction, and evaluating results against ground truth.
- Created a report generation script to summarize ATS compatibility findings.
- Updated `.gitignore` to exclude generated artifacts and added `pyproject.toml` for project dependencies.
- Included new documentation on ATS compatibility testing in `docs/user_guide/ats_compatibility.md`.
2026-03-19 22:16:56 +03:00
Sina Atalay
bb143b363d v2.7 release 2026-03-06 18:35:10 +03:00
Sina Atalay
0ebcf36275 Update sample content and examples 2026-03-03 15:48:10 +03:00
Sina Atalay
4ee5c0fe79 Improve docs header 2026-03-02 20:30:23 +03:00
Sina Atalay
b1db1bb31f Remove llms.txt and add more sample generators 2026-02-19 14:53:15 +03:00
Sina Atalay
30a771f64a Docs new design 2026-02-17 22:12:27 +03:00
husam515
4a9083c117 Add Arabic locale support (#591)
* feat: Add Arabic locale support and update Typst preamble template.

* feat: add rtl support for the Full.html template

* fix: change  "'s CV" hardcoded word in the html/md outputs and make it changeable to support different languages.

* test: add tests for RTL support

* test: add tests for RTL support

* Improve implementation

* Update testdata

* Fix merge issues

* Simplify

* Add test and use type hints with type adapters

* Fix `just check` errors

---------

Co-authored-by: Khalid <khalid.pro.968@gmail.com>
Co-authored-by: Sina Atalay <79940989+sinaatalay@users.noreply.github.com>
2026-02-17 14:19:11 +03:00
Sina Atalay
06a678692c Create llms.txt 2026-02-17 00:46:11 +03:00
Sina Atalay
bb4349ac57 Implement locale.phrases (#618) 2026-02-16 19:24:39 +03:00
Hoàng Trọng Trà
5afb8bf8cd Fix typo: 'wory' -> 'worry' in README and docs (#616) 2025-12-31 17:44:00 +03:00
Sina Atalay
8cac0e9984 Update changelog for v2.6 2025-12-23 20:03:49 +03:00
Sina Atalay
c61bba3c70 docs: remove pyright and pre-commit from developer guide and mention ty and prek instead 2025-12-23 15:24:46 +03:00
Sina Atalay
7ecb73a3b5 Update Set Up VS Code for RenderCV page in docs 2025-12-22 22:08:34 +03:00
Sina Atalay
deee492a4c Fix trailing whitespace issues 2025-12-22 17:04:50 +03:00
Sina Atalay
b524e377fe Switch from pyright to ty (https://github.com/astral-sh/ty) 2025-12-22 16:54:22 +03:00
Sina Atalay
1ffdf8624c Update changelog 2025-12-13 12:22:07 +03:00
Sina Atalay
053d6888ee Improve docs 2025-12-11 16:27:58 +03:00
Sina Atalay
c36e6d17b9 Update changelog 2025-12-10 15:58:47 +03:00
Sina Atalay
33d15d0f91 Polish docs 2025-12-10 15:36:17 +03:00
Sina Atalay
fcdbacba22 Update custom theme image 2025-12-09 23:25:34 +03:00
Sina Atalay
5cc5fbdf9e Massive Refactor: Architecture Redesign and Technical Debt Cleanup (#528)
* Rename `data` folder with schema

* Start refactoring data models

* Work on entry models

* Keep working on entries

* Keep working on data models

* Push old data files

* Keep working on data models

* First draft of schema.cv

* Keep working on schema

* Keep working on schema

* Improve schema.models

* Keep working on rendercv.schema

* Work on schema.design

* Keep working on rendercv.schema

* Complete variant_class_generator

* Keep working rendercv.schema

* Keep working on rendercv.schema

* Final touches to rendercv.schema

* Improve json schema descriptions in rendercv.schema

* Start working on rendercv.schema tests

* Keep implementing rendercv.schema tests

* Add more tests for rendercv.schema

* Improve rendercv.schema

* Improve docstrings and comments in rendercv.schema

* Implement better pydantic error handling in `rendercv.schema`

* Improve variant class system

* Fix rendercv.schema tests

* Start working on rendercv.templater

* Update template names

* Switching to new rendercv typst template soon

* Work on new templater

* Rename renderer with renderer_old

* Don't use utils in rendercv.schema

* Complete connections

* Update renderer folder structure

* Work on new renderer

* Work on new renderer

* Date processing on new renderer

* Improve date processing, support multiple emails, phones, and websites

* Improve markdown to Typst

* Complete entry template processing

* Time span computation in new renderer

* Better entry templates

* Setup new templates

* Improve rendercv.schema

* Start adding tests for rendercv.renderer

* New markdown parser!

* Improve markdown to typst conversion

* Finalize markdown parser

* Add new test files for rendercv.renderer

* Fix cv and connections

* Add connections test

* Improve connection tests

* Improve entry templates

* Add model processor tests

* Improve templater

* Rename old folders

* Improve schema

* Add file generation logic to renderer

* Fix naming issues

* Fix schema tests

* Add path type tests

* Add font family and typst dimension type tests

* Rename old tests

* Fix design tests

* Start integration testing of renderer

* Improve entry tempates

* Handle nested highlights properly

* Finalize Typst preamble template

* Start working on new CLI

* Remove old test files

* Implement override dictionary in new schema

* Start working on new CLI

* Better prints on render command

* New structure

* New render printer

* Add all the commands to new CLI

* Work on new command in new cli

* Improve new command

* Add error handler to new cli

* Work on create theme command

* Complete create theme command

* Remove old source files

* Improve exceptions

* Create new docs

* Add writing tests guide

* Fix cli printer and write tests

* Test copy templates

* Add app tests

* Bring back accidentally removed files

* Imporve cli and tests

* Fix path issues

* Improve

* Improve

* Add reference file comparison tests

* Fix path resolver

* Start working on test_pdf_png

* Implement comparison of multiple files (png)

* Start testing typst

* Fix templating issues

* Fix header and entry templates issues

* Implement short second rows

* Fix date issues

* Fix nested bullets and add summary

* Update testdata

* Implement footer

* Update testdata

* Reimagined design and locale schema, first iteration

* Reimagined design and locale second iteration

* Update design and locale schemas

* Adapt templater to the new design and locale

* Fix tests

* Update lib.typ and testdata for the new locale and design

* Implement proper tests with all combinations of entries

* Remove some docstrings

* fix connections logic

* Improve

* Start working on examples

* Update testdata

* Fix long second row issue

* fix templating issues

* Fix lib.typ issues

* Update testdata

* Fix clean_trailing_parts

* Update test cv

* update test cv

* Update theme defaults

* update schema and fix moderncv

* Fix moderncv issues

* Update testdata

* Update testdata and examples

* Fix issues about photo

* Fix typst photo path issues

* improve entry templates from yaml

* add new locale

* Rename writing tests doc

* Update writing tests

* Improve tests

* Add more cli tests

* Increase test coverage

* Rename variant pydantic model generator

* Improve tests

* Update testdata and improve tests

* Format, fix pre-commit errors

* Fix scripts and update entry figures

* Improve tests

* Write docstrings of schema

* Write schema docstrings

* Setup api reference

* Start working on new docs

* Work on docs

* Improve progress panel of render command

* Finalize new docs index

* Complete CLI docs

* Work on YAML input structure page

* Finalize user guide

* Start working on developer guide

* Improve api reference

* Improve developer guide

* Improve developer guide

* Improve developer gide

* Improve developer guide

* Improve developer guide

* Update developer guide

* Improve developer guide

* Improve developer guide

* Improve developer guide

* Developer guide first draft

* update developer guide

* Update examples

* Update testdata

* Handle wrong installation (rendercv instead of rendercv[full])

* Remove unnecessary files

* Write set up vs code page

* Update README.md

* Change docs description

* Compress design options gif

* minor updates

* Polish all the json schema descriptions

* Update testdata and examples

* Remove some emdashed from docs

* Add whatsapp support

* Add TestEscapeTypstCharacters to tests

* Implement custom connections

* Add page break before sections feature

* Revert page break before sections feature

* Rebase to main

* Fix social network tests, update schema
2025-12-09 17:03:56 +03:00
Sina Atalay
4c5545e8bd Trigger release workflow on release, not tag push, and update changelog 2025-10-29 00:42:09 +03:00
GitHub Actions [Bot]
10191ebc90 Update schema.json, examples, and entry figures 2025-10-28 14:59:13 +00:00
Sina Atalay
234c0faeb6 Fix docs 2025-10-28 17:35:47 +03:00
Jesse Spielman
eb0f0bb7da Update index.md (#478)
Fix typo in documentation
2025-09-15 16:13:39 +03:00