Files
rendercv/docs/reference/index.md
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

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.