rendercv/docs/developer_guide/index.md

61 lines
1.8 KiB
Markdown
Raw Normal View History

2024-06-17 18:57:50 +00:00
# Developer Guide
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.
## Getting Started
1. Ensure that you have Python version 3.10 or higher.
2. Then, clone the repository recursively (because TinyTeX is being used as a submodule) with the following command.
```bash
git clone --recursive https://github.com/sinaatalay/rendercv.git
```
3. Go to the `rendercv` directory.
```bash
cd rendercv
```
4. Create a virtual environment.
```bash
python -m venv .venv
```
5. Activate the virtual environment.
=== "Windows (PowerShell)"
```powershell
.venv\Scripts\Activate.ps1
```
=== "MacOS/Linux"
```bash
source .venv/bin/activate
```
6. Install the dependencies.
```bash
pip install --editable ".[docs,tests,dev]"
2024-06-17 18:57:50 +00:00
```
## 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
A[YAML Input File] --parsing with ruamel.yaml package--> B(Python Dictionary)
B --validation with pydantic package--> C((Pydantic Object))
C --> D[LaTeX File]
C --> E[Markdown File]
E --markdown package--> K[HTML FIle]
D --TinyTeX--> L[PDF File]
L --PyMuPDF package--> Z[PNG Files]
AA[(Jinja2 Templates)] --> D
AA[(Jinja2 Templates)] --> E
```
## About [`pyproject.toml`](https://github.com/sinaatalay/rendercv/blob/main/pyproject.toml)
[`pyproject.toml`](https://github.com/sinaatalay/rendercv/blob/main/pyproject.toml) contains all the metadata, dependencies, and tools required for the project. Please read through the file to understand the project's technical details.