docs: update reference

This commit is contained in:
Sina Atalay
2024-07-05 17:50:55 +03:00
parent 2cbbfd9552
commit 827090da7c
5 changed files with 49 additions and 29 deletions

View File

@@ -0,0 +1,3 @@
.mermaid {
text-align: center;
}

View File

@@ -2,7 +2,8 @@
All contributions to RenderCV are welcome!
The source code is thoroughly documented and well-commented, making it an enjoyable read and easy to understand. Also, a flowchart is provided below to help you understand how RenderCV works.
The source code is thoroughly documented and well-commented, making it an enjoyable read and easy to understand. A detailed documentation of the source code is available in the [reference](../reference/index.md).
## Getting Started
@@ -48,28 +49,6 @@ The source code is thoroughly documented and well-commented, making it an enjoya
To be added.
## How RenderCV works?
The flowchart below illustrates the general operations of RenderCV. A detailed documentation of the source code is available in the [reference](../reference/index.md).
```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.renderer
C --> AA
E[Markdown File] --markdown package--> K[HTML FIle]
D[LaTeX File] --TinyTeX--> L[PDF File]
L --PyMuPDF package--> Z[PNG Files]
AA[(Jinja2 Templates)] --> D
AA[(Jinja2 Templates)] --> E
end
```
## Available Commands
These commands are defined in the [`pyproject.toml`](https://github.com/sinaatalay/rendercv/blob/main/pyproject.toml) file.

View File

@@ -1,13 +1,50 @@
---
hide:
- toc
---
# RenderCV
::: rendercv
In this section, you can find how RenderCV's components are structured and how they interact with each other.
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.
- [`cli`](cli/index.md) This package contains all the command-line interface (CLI) related code for RenderCV.
- [`data`](data/index.md) This package contains classes and functions to parse and validate a YAML input file.
- [`renderer`](renderer/index.md) This package contains utilities for generating the output files.
- [`themes`](themes/index.md) This package contains all the built-in themes 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.renderer
C --> AA
E[Markdown File] --markdown package--> K[HTML FIle]
D[LaTeX File] --TinyTeX--> L[PDF File]
L --PyMuPDF package--> Z[PNG Files]
AA[(Jinja2 Templates)] --> D
AA[(Jinja2 Templates)] --> E
end
```
- [`cli`](cli/index.md) package contains all the command-line interface (CLI) related code for RenderCV.
- [`commands.py`](cli/commands.md) module contains all the CLI commands.
- [`printer.py`](cli/printer.md) module contains all 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 all 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 all the other data models.
- [`entry_types.py`](data/models/entry_types.md) module contains the data models of all 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_catalog.py`](data/models/locale_catalog.md) module contains the data model of the `locale_catalog` 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 all 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 utilities for generating the output files.
- [`renderer.py`](renderer/renderer.md) module contains the necessary functions for rendering $\\LaTeX$, PDF, Markdown, HTML, and PNG files from the data model.
- [`templater.py`](renderer/templater.md) module contains all the necessary classes and functions for templating the $\\LaTeX$ and Markdown files from the data model.
object.
- [`themes`](themes/index.md) package contains all the built-in themes of RenderCV.
- [`classic`](themes/classic.md)
- [`engineeringresumes`](themes/engineeringresumes.md)
- [`sb2nov`](themes/sb2nov.md)

View File

@@ -134,6 +134,7 @@ extra_javascript:
- https://unpkg.com/katex@0/dist/contrib/auto-render.min.js
extra_css:
- assets/stylesheets/rendercv.css
- https://unpkg.com/katex@0/dist/katex.min.css
extra:

View File

@@ -1,6 +1,6 @@
"""
The `rendercv.renderer.templater` module contains all the necessary classes and
functions for templating the $\\LaTeX$ and Markdown files for the `RenderCVDataModel`
functions for templating the $\\LaTeX$ and Markdown files from the `RenderCVDataModel`
object.
"""