Commit Graph

80 Commits

Author SHA1 Message Date
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
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
Sina Atalay
c6428adcd8 Improve API 2025-02-08 18:42:43 -05:00
Sina Atalay
0ddd489951 Improve hatch scripts and create executables 2025-02-04 18:53:34 -05:00
Sina Atalay
0318b1a270 Add a new social network: X (#212, #187, #109, #107) 2025-02-02 22:52:31 -05:00
Sina Atalay
adafc307a4 Create two entry types: NumberedEntry and ReversedNumberedEntry 2025-02-02 17:49:08 -05:00
Sina Atalay
438ff8d13b Bundle Font Awesome 6 fonts (#314)
* Bundle Font Awesome 6 fonts

* hope to skip less tests with font awesome fix

* update schema

* format

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* fix

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* fix

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-01-19 23:51:14 -05:00
Sina Atalay
135bc9d160 fix linting issues 2025-01-07 14:51:30 +03:00
Sina Atalay
7bb2ca4eab tests: skip failed tests for now 2025-01-07 14:50:48 +03:00
Sina Atalay
97cb474bc8 fix tests 2025-01-07 13:16:51 +03:00
Sina Atalay
050801b695 fix tests 2025-01-07 11:23:06 +03:00
Sina Atalay
4331110c55 Upgrade to v2 (#271)
* prepare the base for typst

* rename theme folders

* rename themes

* rename themes

* update testdata with new theme names

* rename themes

* fix docs issues

* fundamentals

* fundamental renames

* generalize `create_a_latex_file`

* generalize render_a_pdf_from_latex

* make latex optional dependency, and add typst as dependency

* first tests with typst

* finish `markdown_to_typst`

* fix `markdown_to_latex`

* finish `markdown_to_typst`

* first steps towards Typst RenderCV themes

* first draft of classic theme

* start working on new design options

* work on new design options

* make default theme: "classic"

* start integrating design options with templates

* rename typst variables

* start working on connections integration

* polish connections

* polish design options and themes

* fix spelling mistakes and improve typst themes

* use ms instead of s in printer

* improve templates

* fix typos

* use ms instead of s in printer

* improve typst templates

* improve

* improve

* improve

* improve

* make PyMuPDF optional

* rename last_updated_date_style to last_updated_date_template

* revert changelog

* progress

* improve

* exclude gifs from sdist

* update tests

* improve templates

* improve templater

* data: update `sample_content.yaml`

* improve

* remove latex support

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* remove testdata

* remove latex

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* rename `locale_catalog` to `locale`

* docs: update developer guide faq

* add new input, rendercv_settings.date

* add show_time_span_in

* create a new function, parse_validation_errors

* improve templates

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* improve

* update templates

* fix experience entry

* improve

* finish templates

* update tests

* update testdata

* remove time_machine

* update sample content

* improve

* add sb2nov theme

* update options

* update theme.options

* update theme.options

* update theme options

* create engineeringresumes templates

* add engineering resumes

* format

* update templates

* add new theme

* fix a typo in sample content

* update templating system

* update options

* add photo support

* update workflows

* improve templates

* improve parse_validation_errors

* create a new interface for web

* fix summary

* improve

* resolve typing issues

* update mkdocs.yaml

* update pyproject.toml

* update docs scripts

* update testdata

* update tests

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* rename column template fields

* update

* update test data

* add moderncv

* fix problems

* moderncv

* create moderncv

* fix tests

* update

* update

* update templates

* update

* use optional dependencies

* fix

* improve

* aa

* a

* update

* update

* update

* update

* rename

* update

* update

* update

* improve

* update

* update

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* update

* update

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* format

* update changelog

* update examples

* update entry figures

* update schema

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-01-07 01:30:40 +03:00
D'Alcamo Kael
733f4d2226 add support for profile photo (#193)
* feat: adding "photo" in CurriculumVitae model

* feat: loading "HeaderWithPhoto" template if photo is available

* template[sb2nov]: added HeaderWithPhoto.j2.tex template

* lint: linted files

* Revert "feat: loading "HeaderWithPhoto" template if photo is available"

This reverts commit 6a760519

* template[sb2nov]: merged Header.j2.tex and HeaderWithPhoto.j2.tex after revert 3253d2c1

* template[moderncv]: added photo in template

* fix,template[moderncv]: added check if photo is present

* template[markdown]: added photo support

* feat: adding support to relative path in templates
* relative paths are always relative to cwd

* fix: fixed optional photo in pydantic model

* feat,template[engineeringresumes]: implemented propic

* feat,template[engineeringresumes]: improved template

* feat,template[classic]: implemented template

* docs,template[sb2nov]: added comment

* fix,template: found a workaround for sourcesanspro and graphicx https://github.com/sinaatalay/rendercv/pull/193#issuecomment-2458194352

* fix: using context to manage in a clean way dynamic parameters passing to pydantic models

this is required because the "os.chdir" solution (https://github.com/sinaatalay/rendercv/pull/193#discussion_r1826306847) solved the path resolution for the image but bugged the path construction for paths in rendercv_settings (which should be relative to cwd and not to the path of the input file)

* tests: fixed some tests

* templates: formatted Header.j2.tex for classic, engineeringresumes, sb2nov templates

* tests: fixed test_create_a_latex_file and test_create_a_latex_file_and_copy_theme_files tests

* tests: fixed all tests and examples

* fix: fixed paths for Windows: path in latex should always be in unix style.

* tests: improved test code quality

* tests: fixed test_copy_theme_files_to_output_directory test

* Sina's updates

remove RenderCVContextModel

resolve typing and INPUT_FILE_PATH issue

update Preambles

update templates

rebase tests

fix issues

update headers

* resolve formatting issues

* set `update_testdata` to False

* don't use the profile picture in markdown

* set update_testdata to False

* fix photo issues

* fix moderncv

* fix INPUT_FILE_DIRECTORY

---------

Co-authored-by: kael-k <gh@kael-k.io>
Co-authored-by: Sina Atalay <dev@atalay.biz>
2024-12-24 20:52:33 -05:00
Sina Atalay
7291349eaa generalize the individual YAML files and improve tests 2024-12-09 01:45:49 -05:00
Sina Atalay
d28864aad5 merge conftest.py 2024-12-09 01:45:49 -05:00
Sina Atalay
686c8e1a15 refactor and clean the code 2024-12-08 15:07:38 -05:00
Sina Atalay
d93bc5fb12 simplify --watch option 2024-12-08 05:24:32 -05:00
Sina Atalay
4992fc881e renderer: allow LaTeX commands 2024-11-03 01:43:04 -04:00
Sina Atalay
3322172a27 docs: don't use python formatting for inline strings 2024-11-03 01:35:37 -04:00
Sina Atalay
c3433209d4 tests: revert update_testdata to False 2024-11-01 19:52:55 -04:00
Sina Atalay
a77e3460a5 fix "Cant render with some DOIs" #184 2024-11-01 19:41:34 -04:00
Sina Atalay
5dc31e8024 add Telegram as a social network (#187) 2024-11-01 19:25:53 -04:00
Sina Atalay
b6200d8621 fix characters are not escaped in LaTeX, leading to render errors #129 2024-11-01 19:14:38 -04:00
Sina Atalay
b0c7d77e2c escape LaTeX characters in section titles #191 2024-11-01 19:02:13 -04:00
Sina Atalay
d25d54dc62 tests: remove label from CurriculumVitae 2024-11-01 18:53:16 -04:00
Sina Atalay
9c4a6f958c remove return types from docstrings 2024-11-01 18:30:51 -04:00
Sina Atalay
e0eac8ca58 remove types from the docstrings 2024-11-01 18:26:30 -04:00
Sina Atalay
1fc7b3a552 sort imports and format code 2024-07-05 17:22:53 +03:00
Sina Atalay
6993ba0b6c tests: fix typing issues 2024-07-05 17:00:19 +03:00
Sina Atalay
5f78c6c74f tests: update 2024-07-05 16:33:56 +03:00
Sina Atalay
b75139210f tests: update for the new package structure 2024-07-05 15:01:02 +03:00
Sina Atalay
120b63cc08 update subpackage names and packaging structure 2024-07-05 00:29:25 +03:00
Sina Atalay
ff2ed59ee1 reader: create models package inside reader 2024-07-03 02:05:04 +03:00
Sina Atalay
dd1042ab4c data_models: rename data_models to reader 2024-07-03 01:30:54 +03:00
Sina Atalay
1b0ede6ea6 refactor completely (#103) 2024-07-01 00:05:02 +03:00
Sina Atalay
4fc622dd4d sort imports 2024-06-24 16:08:07 +03:00
Sina Atalay
2cc17b38c9 data_models: remove Twitter (#109) 2024-06-19 14:52:52 +03:00
Sina Atalay
2c2bfff140 tests: update 2024-06-05 01:14:08 +03:00
Sina Atalay
477bfa84d2 tests: update testdata 2024-05-31 19:56:38 +03:00
Sina Atalay
ef733e1c33 tests: test Google Scholar 2024-05-29 16:05:51 +03:00
Sina Atalay
ed9b7f7b09 tests: update 2024-05-25 15:53:12 +03:00
Sina Atalay
8cbff34877 tests: include an email with an underscore to tests (#64) 2024-05-12 16:45:14 +03:00
Sina Atalay
37120928bb tests: revert update_testdata to False in conftest.py 2024-04-28 23:32:55 +03:00
Sina Atalay
063b362adb tests: update conftest.py 2024-04-28 23:32:55 +03:00
Sina Atalay
e80fdd60c8 tests: update conftest.py 2024-04-15 01:57:09 +03:00
Sina Atalay
57722a1b58 tests: update testdata (#53) 2024-04-07 23:44:02 +00:00
Sina Atalay
67fa32bdba tests: ignore __pycache__ in are_these_two_directories_the_same 2024-03-31 21:48:54 +02:00