Commit Graph

387 Commits

Author SHA1 Message Date
Sina Atalay
b1db1bb31f Remove llms.txt and add more sample generators 2026-02-19 14:53:15 +03:00
Sina Atalay
49a95fd9f1 Fix tests 2026-02-18 17:51:47 +03:00
Sina Atalay
01eab150e5 Add Hebrew and Persian locales 2026-02-18 17:24:42 +03:00
Sina Atalay
87c7640322 Fix settings.current_date issues 2026-02-18 15:46:06 +03:00
Sina Atalay
fd5409c142 Support "today" in settings.current_date 2026-02-18 02:38:41 +03:00
Sina Atalay
f974b6d9e9 Better YAML error handling 2026-02-17 18:42:08 +03:00
Sina Atalay
2b080300db Add pyodide tests 2026-02-17 17:04:12 +03:00
Diorcet Yann
d0b2e12b3b Add settings.pdf_title field in order to customize the title of produced documents (#624)
* cv section: add title field in order to customize the title of produced documents

* Sync branch with origin/main

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* Implement

* Use NAME - CV as pdf_title

---------

Co-authored-by: Sina Atalay <79940989+sinaatalay@users.noreply.github.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 14:48:40 +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
9611320502 Add degree_width field to design.entries (#671)
* Add `design.entries.degree_width` field #649

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* Bump rendercv typst version to 0.2.0

* Update testdata

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 14:03:07 +03:00
lif
abfe1e1733 feat: add --output-folder option to specify output directory (#578)
* feat: add --output-folder option to specify base output directory

This addresses issue #551 by adding support for customizing the output
folder for all generated files.

Changes:
- Add `output_folder` field to RenderCommand model
- Add `--output-folder` / `-o` CLI option
- When output_folder is set, it replaces the default `rendercv_output`
  folder in all output paths
- Support OUTPUT_FOLDER placeholder for advanced path customization
- Add comprehensive test coverage

Usage examples:
  # Simple: output all files to build/en/
  rendercv render cv.yaml --output-folder build/en/

  # Advanced: use OUTPUT_FOLDER placeholder for custom paths
  rendercv render cv.yaml --output-folder dist/ \
    --pdf-path OUTPUT_FOLDER/final/resume.pdf

Closes #551

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* fix: address linting errors and Windows compatibility

- Fix PIE810: use tuple in startswith() call
- Fix ruff format issues
- Make tests cross-platform compatible for Windows

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* fix: split compound assertions per PT018 rule

* Improve and update examples and schema

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Co-authored-by: Sina Atalay <79940989+sinaatalay@users.noreply.github.com>
2026-02-17 00:01:19 +03:00
pramanandasarkar02
cfdaf9cb0f Fix render --quiet option issue #608 (#610)
* fix render --quiet option issue #608

* format fixed

* Improve solution

---------

Co-authored-by: Sina Atalay <79940989+sinaatalay@users.noreply.github.com>
2026-02-16 21:34:51 +03:00
lif
18485d7185 feat: watch mode now monitors included config files (#579)
* feat: watch mode now monitors included config files

Watch mode (--watch/-w) now monitors changes to included configuration
files specified via --design, --locale-catalog, and --settings options.

Previously, watch mode only monitored the main input file. Now when
using separate config files for design/locale/settings, changes to
any of these files will trigger a re-render.

Fixes #552

* Improve implementation

* Update testdata

* Fix pre-commit errors

* Update testdata

---------

Co-authored-by: Sina Atalay <79940989+sinaatalay@users.noreply.github.com>
2026-02-16 21:22:13 +03:00
Daniel Rafailov
3685da2b31 Automatically delete obsolete PNG files (#590)
* #588

* formatting issue fix

* Add tests

* Update uv.lock and testdata

---------

Co-authored-by: Sina Atalay <79940989+sinaatalay@users.noreply.github.com>
2026-02-16 20:18:49 +03:00
Sina Atalay
bb4349ac57 Implement locale.phrases (#618) 2026-02-16 19:24:39 +03:00
shraddha khetmalis
9b26e3b4a1 Feature/add day placeholder to single date formatting (fixes #548) (#571) (#571)
- Add DAY placeholders to single date formatting
- Add tests for DAY placeholders
- Apply ruff formatting
- fix: expose DAY placeholders in top note and footer templates
- fix: apply ruff formatting for DAY placeholders
- refactor: extract build_date_placeholders, add DAY/DAY_IN_TWO_DIGITS support

Co-authored-by: Sina Atalay <79940989+sinaatalay@users.noreply.github.com>
2026-02-16 15:42:12 +03:00
Anders Gaustad
710d4a1825 feat(locale): Added Norwegian (Bokmål and Nynorsk) locale (#652)
* feat(locale): Added Norwegian (Bokmål and Nynorsk) locale

Added the two official writing standards for Norwegian:
Norwegian Bokmål and Norwegian Nynorsk.

Updated `english_locale-py` with the ISO 639-1 codes of 'nb' and 'nn'.

* Fix Nynorsk typo, regenerate schema, and add trailing newlines

- Fix Nynorsk "present" translation: "noverande" → "nåverande"
- Regenerate schema.json via update_schema.py instead of manual edits
- Add missing trailing newlines to both YAML files

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Sina Atalay <79940989+sinaatalay@users.noreply.github.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 15:08:08 +03:00
Sina Atalay
e9db78b127 Make PyPI version check non-blocking (thanks for the idea #615) 2026-02-16 14:52:17 +03:00
Jordan Bradford
a7b6e9a2d5 feat: Add Reddit social network (#658)
* Add Reddit social network

* Run `pre-commit`
2026-02-16 14:33:21 +03:00
Sina Atalay
2f9e8ad476 Improve Pydantic error handling for multiple YAML sources 2026-02-16 04:32:34 +03:00
Sina Atalay
04bd9197cd Improve schema model builder 2026-02-16 03:57:54 +03:00
Tanmay Pathak
d6fcf1d390 fix: 🐛 design file not applying with settings file (#642)
* test: 🧪 design file applies with settings file

* fix: preserve design/locale paths when using --settings flag

* test: 🧪 skipping render commands works

* fix: ensure render_command settings are initialized in build_rendercv_dictionary

* fix: prefix unused variable with underscore to satisfy ruff RUF059
2026-02-16 02:23:26 +03:00
Sina Atalay
414cbba6d4 Ignore some ty errors 2026-02-06 01:03:56 +03:00
Sina Atalay
f1ae13c95d Make path serialization more robust 2026-02-06 00:47:25 +03:00
Sina Atalay
32d67b0d13 Improve markdown templates 2025-12-23 20:03:33 +03:00
Matías Zapata Contreras
1d9deda101 Fix Unicode corruption in sample YAML name generation (#570)
* fix(sample-generator): remove unnecessary unicode-escape decoding for name

* test(sample-generator): add test for creating model with unicode name
2025-12-23 19:36:50 +03:00
Sina Atalay
43312b9076 Fix tests 2025-12-22 22:33:59 +03:00
Sina Atalay
ca1616381c Test invalid Bluesky username 2025-12-22 18:22:53 +03:00
Sina Atalay
3d12051c2d Fix testdata files 2025-12-22 18:11:04 +03:00
Sina Atalay
b524e377fe Switch from pyright to ty (https://github.com/astral-sh/ty) 2025-12-22 16:54:22 +03:00
Jordan Bradford
17114e03b2 Add Bluesky (#560) 2025-12-21 23:18:13 +03:00
Sina Atalay
1e04ab0d25 Fix settings field issues 2025-12-12 22:27:12 +03:00
Sina Atalay
547b6dc806 Improve placeholders and JSON Schema 2025-12-12 13:29:15 +03:00
Sina Atalay
ac828184f1 Fix multiline summary issues 2025-12-12 13:22:23 +03:00
Sina Atalay
ee3c6f31ba Increase test coverage 2025-12-10 18:49:31 +03:00
Sina Atalay
81851c18e7 Fix cli tests 2025-12-10 18:42:40 +03:00
Sina Atalay
dfa53be33c Fix Windows tests 2025-12-10 18:36:51 +03:00
Sina Atalay
8563f729e8 Fix render command issue (#543) 2025-12-10 18:06:21 +03:00
Sina Atalay
0dfe129040 Increase test coverage 2025-12-10 00:59:06 +03:00
Sina Atalay
72b6ed3cd9 Add invalid whatsapp username test 2025-12-10 00:03:20 +03:00
Sina Atalay
51979c6462 Fix Windows tests 2025-12-09 23:53:16 +03:00
Sina Atalay
6bd1cadf36 Improve error handling 2025-12-09 23:20:06 +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
Jakob Stender Gulberg
a45537deb4 Build/test in parallel - now with proper coverage reporting (#535)
* ci: did a roleback and reimplemented changes

* chore: added coverage for debugging

* disable xdist

* minor fix

* degging with tolerance

* updated test data

* reverted test

* chore: lint

* test cli in seriel

* we never dispatched xdist as loadgroup

* forced groups and extras

* ci: more typo fixing

* run grouped by file

* test: added pytest-rerunfailures for flaky tests

* test: removed mark as the we use file based distribution

---------

Co-authored-by: Jakob Guldberg Aaes <jakob1379@gmali.com>
2025-11-18 19:35:20 +03:00
Ian Holloway
8ad18fe9c0 add grade field to education entry (#463)
* add grade field to education entry

* remove optional and use "| None"

* remove optional and use "| None"

* update schema
2025-10-23 21:21:32 +03:00
Ian Holloway
bebbf8d04c Create optional automaitc sorting capabilites for entries (#461)
* Fix sorting stability and add tie-break tests

* update schema

* formatting

* fix error with import

* fix failing test case
2025-10-23 21:20:56 +03:00
Ian Holloway
7586b47044 fix all test errors and warnings (#456)
* fix test case test_main_file

* Enhance Typst source preprocessing to eliminate unwanted spacing caused by inline formatting

* make changes to pass hatch run default:format

* remove most warnings from pytest

* fix the all warnings

* fix ruff

* remove noqa comments

* remove duplicate line of code

* run ruff format

* add read_a_yaml_file_with_coordinates function to read YAML files with location info

* refactor: add type annotations to field_info variables for clarity

* run ruff format

* update schema
2025-10-23 00:04:37 +03:00
Jesse Spielman
bf45cb2869 Add IMDB social network (#479)
* Add IMDB social network to CV model

* Add IMDB to schema.json with other social networks

* Add tests for IMDB social Network
2025-10-22 23:48:26 +03:00
Thiago Perrotta
9510138a7c ci(pre-commit): add yamllint (#496) 2025-10-22 23:45:08 +03:00
Jakob Stender Gulberg
88dc67be35 build: Add codespell pre-commit hook and correct various typos (#469)
* build: Add codespell pre-commit hook and correct various typos

* Update design.py

---------

Co-authored-by: Jakob Stender Guldberg <jakob1379gmail.com>
2025-09-14 16:05:10 +03:00