mirror of
https://github.com/rendercv/rendercv.git
synced 2026-04-19 22:42:11 -04:00
* 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>
58 lines
4.2 KiB
Markdown
58 lines
4.2 KiB
Markdown
---
|
|
hide:
|
|
- toc
|
|
---
|
|
|
|
# API Reference
|
|
|
|
RenderCV is a Typst-based Python package with a command-line interface (CLI) that allows
|
|
you to version-control your CV/resume as source code.
|
|
|
|
In this section, you can find how RenderCV's components are structured and how they interact with each other. The flowchart below illustrates the general operations of RenderCV.
|
|
|
|
```mermaid
|
|
flowchart TD
|
|
subgraph rendercv.data
|
|
A[YAML Input File] --parsing with ruamel.yaml package--> B(Python Dictionary)
|
|
B --validation with pydantic package--> C((Pydantic Object))
|
|
end
|
|
subgraph rendercv.themes
|
|
C --> AA[(Jinja2 Templates)]
|
|
end
|
|
AA --> D
|
|
AA --> E
|
|
subgraph rendercv.renderer
|
|
E[Markdown File] --markdown package--> K[HTML FIle]
|
|
D[Typst File] --typst package--> L[PDF File]
|
|
D --typst package--> Z[PNG Files]
|
|
end
|
|
```
|
|
|
|
- [`api`](api/index.md) package contains the functions to create a clean and simple API for RenderCV.
|
|
- [`functions.py`](api/functions.md) module contains the basic functions that are used to interact with RenderCV.
|
|
- [`cli`](cli/index.md) package contains the command-line interface (CLI) related code for RenderCV.
|
|
- [`commands.py`](cli/commands.md) module contains the CLI commands.
|
|
- [`printer.py`](cli/printer.md) module contains the functions and classes that are used to print nice-looking messages to the terminal.
|
|
- [`utilities.py`](cli/utilities.md) module contains utility functions that are required by the CLI.
|
|
- [`data`](data/index.md) package contains classes and functions to parse and validate a YAML input file.
|
|
- [`models`](data/models/index.md) package contains the Pydantic data models, validators, and computed fields that are used in RenderCV.
|
|
- [`computers.py`](data/models/computers.md) module contains functions that compute some properties based on the input data.
|
|
- [`base.py`](data/models/base.md) module contains the base data model for the other data models.
|
|
- [`entry_types.py`](data/models/entry_types.md) module contains the data models of the available entry types in RenderCV.
|
|
- [`curriculum_vitae.py`](data/models/curriculum_vitae.md) module contains the data model of the `cv` field of the input file.
|
|
- [`design.py`](data/models/design.md) module contains the data model of the `design` field of the input file.
|
|
- [`locale.py`](data/models/locale.md) module contains the data model of the `locale` field of the input file.
|
|
- [`rendercv_data_model.py`](data/models/rendercv_data_model.md) module contains the `RenderCVDataModel` data model, which is the main data model that defines the whole input file structure.
|
|
- [`generator.py`](data/generator.md) module contains the functions for generating the JSON Schema of the input data format and a sample YAML input file.
|
|
- [`reader.py`](data/reader.md) module contains the functions that are used to read the input files.
|
|
- [`renderer`](renderer/index.md) package contains the necessary classes and functions for generating the output files from the `RenderCVDataModel` object.
|
|
- [`renderer.py`](renderer/renderer.md) module contains the necessary functions for rendering Typst, PDF, Markdown, HTML, and PNG files from the data model.
|
|
- [`templater.py`](renderer/templater.md) module contains the necessary classes and functions for templating the Typst and Markdown files from the data model.
|
|
- [`themes`](themes/index.md) package contains the built-in themes of RenderCV.
|
|
- [`options.py`](themes/options.md) module contains the standard data models for built-in Typst themes' design options
|
|
- [`classic`](themes/classic.md) package contains the `classic` theme templates and data models for its design options.
|
|
- [`engineeringresumes`](themes/engineeringresumes.md) package contains the `engineeringresumes` theme templates and data models for its design options.
|
|
- [`sb2nov`](themes/sb2nov.md) package contains the `sb2nov` theme templates and data models for its design options.
|
|
- [`moderncv`](themes/moderncv.md) package contains the `moderncv` theme templates and data models for its design options.
|
|
- [`engineeringclassic`](themes/engineeringclassic.md) package contains the `engineeringclassic` theme templates and data models for its design options.
|