diff --git a/docs/assets/stylesheets/rendercv.css b/docs/assets/stylesheets/rendercv.css new file mode 100644 index 00000000..4f3cd5d7 --- /dev/null +++ b/docs/assets/stylesheets/rendercv.css @@ -0,0 +1,3 @@ +.mermaid { + text-align: center; + } \ No newline at end of file diff --git a/docs/developer_guide/index.md b/docs/developer_guide/index.md index b409b7f2..e143d961 100644 --- a/docs/developer_guide/index.md +++ b/docs/developer_guide/index.md @@ -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. diff --git a/docs/reference/index.md b/docs/reference/index.md index 29e7d3a7..0032ce8d 100644 --- a/docs/reference/index.md +++ b/docs/reference/index.md @@ -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) diff --git a/mkdocs.yaml b/mkdocs.yaml index c7837c22..5669f09a 100644 --- a/mkdocs.yaml +++ b/mkdocs.yaml @@ -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: diff --git a/rendercv/renderer/templater.py b/rendercv/renderer/templater.py index a823d729..96b0bc84 100644 --- a/rendercv/renderer/templater.py +++ b/rendercv/renderer/templater.py @@ -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. """