RenderCV¶
RenderCV is a $\LaTeX$ CV/resume framework that allows you to create a high-quality CV as a PDF from a YAML file with Markdown syntax support and complete control over the $\LaTeX$ 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.
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[LaTeX File] --TinyTeX--> L[PDF File]
L --PyMuPDF package--> Z[PNG Files]
end
cli
package contains the command-line interface (CLI) related code for RenderCV.commands.py
module contains the CLI commands.printer.py
module contains the functions and classes that are used to print nice-looking messages to the terminal.utilities.py
module contains utility functions that are required by the CLI.
data
package contains classes and functions to parse and validate a YAML input file.models
package contains the Pydantic data models, validators, and computed fields that are used in RenderCV.computers.py
module contains functions that compute some properties based on the input data.base.py
module contains the base data model for the other data models.entry_types.py
module contains the data models of the available entry types in RenderCV.curriculum_vitae.py
module contains the data model of thecv
field of the input file.design.py
module contains the data model of thedesign
field of the input file.locale_catalog.py
module contains the data model of thelocale_catalog
field of the input file.rendercv_data_model.py
module contains theRenderCVDataModel
data model, which is the main data model that defines the whole input file structure.
generator.py
module contains the functions for generating the JSON Schema of the input data format and a sample YAML input file.reader.py
module contains the functions that are used to read the input files.
renderer
package contains the necessary classes and functions for generating the output files from theRenderCVDataModel
object.renderer.py
module contains the necessary functions for rendering $\LaTeX$, PDF, Markdown, HTML, and PNG files from the data model.templater.py
module contains the necessary classes and functions for templating the $\LaTeX$ and Markdown files from the data model. object.
themes
package contains the built-in themes of RenderCV.common_options.py
module contains some standard data models for design options.classic
package contains theclassic
theme templates and data models for its design options.engineeringresumes
package contains theengineeringresumes
theme templates and data models for its design options.sb2nov
package contains thesb2nov
theme templates and data models for its design options.moderncv
package contains themoderncv
theme templates and data models for its design options.