update docs

This commit is contained in:
Sina Atalay 2023-10-20 20:58:43 +02:00
parent 64089f2703
commit 64530a79c3
6 changed files with 122 additions and 27 deletions

View File

@ -3,9 +3,10 @@
[![coverage](https://coverage-badge.samuelcolvin.workers.dev/sinaatalay/rendercv.svg)](https://coverage-badge.samuelcolvin.workers.dev/redirect/sinaatalay/rendercv)
[![pypi](https://img.shields.io/pypi/v/rendercv.svg)](https://pypi.python.org/pypi/rendercv)
A Python application that creates a $\LaTeX$ CV as a PDF from a JSON/YAML input file. Currently, it only supports one theme (classic), which can be seen [here](https://github.com/sinaatalay/rendercv/blob/main/John_Doe_CV.pdf?raw=true). More themes are planned to be supported in the future.
RenderCV is a Python application that creates a $\LaTeX$ CV as a PDF from a JSON/YAML input file. Currently, it only supports one theme (*classic*). An example can be seen [here](https://github.com/sinaatalay/rendercv/blob/main/John_Doe_CV.pdf?raw=true). More themes are planned to be supported in the future.
**What does it do?**
- It parses a YAML (or JSON) file that looks like this:
```yaml
cv:
@ -44,11 +45,41 @@ cv:
start_date: "2022-06-15"
end_date: "2022-08-01"
highlights:
- AmIACompany is a technology company that provides web-based engineering applications
that enable the simulation and optimization of products and manufacturing tools.
- Modeled and simulated a metal-forming process deep drawing using finite element
analysis with open-source software called CalculiX.
- AmIACompany is a technology company that provides
web-based engineering applications that enable the
simulation and optimization of products and
manufacturing tools.
- Modeled and simulated a metal-forming process deep
drawing using finite element analysis with
open-source software called CalculiX.
```
- It validates the input, such as checking if the dates are consistent, checking if the URLs are correct, warning if there are any spelling mistakes, etc.
- Then creates a $\LaTeX$ file.
- Then renders the $\LaTeX$ file to generate the PDF, and you don't need $\LaTeX$ installed on your PC because the packages come with [TinyTeX](https://yihui.org/tinytex/).
- Then, it validates the input, such as checking if the dates are consistent, checking if the URLs are correct, giving a warning if there are any spelling mistakes, etc.
- Then, it creates a $\LaTeX$ file.
- Finally, it renders the $\LaTeX$ file to generate the PDF, and you don't need $\LaTeX$ installed on your PC because the packages come with [TinyTeX](https://yihui.org/tinytex/).
## Quick Start Guide
1. Install [Python](https://www.python.org/downloads/) (3.10 or newer).
2. Run the command below to install RenderCV.
```bash
pip install rendercv
```
3. Run the command below to generate a sample input file (`Full_Name_CV.yaml`). The file will be generated in the current working directory.
```bash
rendercv new "Full Name"
```
4. Edit the contents of the `Full_Name_CV.yaml` file.
5. Run the command below to generate your $\LaTeX$ CV.
```bash
rendercv render Full_Name_CV.yaml
```
## Detailed User Guide and Documentation
A more detailed user guide can be found [here](https://sinaatalay.github.io/rendercv/user_guide).
I documented the whole code with docstrings and used comments throughout the code. The code documentation can be found [here](https://sinaatalay.github.io/rendercv/documentation/).
## Contributing
All contributions to RenderCV are welcome, especially adding new $\LaTeX$ themes.

View File

@ -0,0 +1,3 @@
# __main___
::: rendercv.__main__

View File

@ -6,6 +6,6 @@ In this section, you can find how RenderCV works in detail.
Modules:
- [\_\_main\_\_](__main__.md) This module is a script to run the RenderCV and generate a CV as a PDF.
- [\_\_main\_\_](__main__.md) This module contains the main functions of RenderCV.
- [data_model](data_model.md) This module contains classes and functions to parse RenderCV's specifically structured YAML or JSON to generate meaningful data for Python.
- [rendering](rendering.md) This module implements LaTeX file generation and LaTeX runner utilities for RenderCV.
- [rendering](rendering.md) This module implements $\LaTeX$ file generation and $\LaTeX$ runner utilities for RenderCV.

View File

@ -1,22 +1,79 @@
---
hide:
- navigation
- toc
---
# RenderCV: Overview
[![CI](https://github.com/sinaatalay/rendercv/actions/workflows/ci.yaml/badge.svg?branch=main)](https://github.com/sinaatalay/rendercv/actions/workflows/ci.yaml)
[![coverage](https://coverage-badge.samuelcolvin.workers.dev/sinaatalay/rendercv.svg)](https://coverage-badge.samuelcolvin.workers.dev/redirect/sinaatalay/rendercv)
[![pypi](https://img.shields.io/pypi/v/rendercv.svg)](https://pypi.python.org/pypi/rendercv)
A simple tool to render your $\LaTeX$ CV or resume from a YAML file.
RenderCV is a Python application that creates a $\LaTeX$ CV as a PDF from a JSON/YAML input file. Currently, it only supports one theme (*classic*). An example can be seen [here](https://github.com/sinaatalay/rendercv/blob/main/John_Doe_CV.pdf?raw=true). More themes are planned to be supported in the future.
It's a work in progress, please come back later.
**What does it do?**
# Entry Types
- It parses a YAML (or JSON) file that looks like this:
```yaml
cv:
name: John Doe
label: Mechanical Engineer
location: Geneva, Switzerland
email: johndoe@example.com
phone: "+33749882538"
website: https://example.com
social_networks:
- network: GitHub
username: johndoe
education:
- institution: Boğaziçi University
url: https://boun.edu.tr
area: Mechanical Engineering
study_type: BS
location: Istanbul, Turkey
start_date: "2017-09-01"
end_date: "2023-01-01"
transcript_url: https://example.com
gpa: 3.10/4.00
highlights:
- "Class rank: 10 of 62"
- institution: The University of Texas at Austin
url: https://utexas.edu
area: Mechanical Engineering, Student Exchange Program
location: Austin, TX, USA
start_date: "2021-08-01"
end_date: "2022-01-15"
work_experience:
- company: AmIACompany
position: Summer Intern
location: Istanbul, Turkey
url: https://example.com
start_date: "2022-06-15"
end_date: "2022-08-01"
highlights:
- AmIACompany is a technology company that provides
web-based engineering applications that enable the
simulation and optimization of products and
manufacturing tools.
- Modeled and simulated a metal-forming process deep
drawing using finite element analysis with
open-source software called CalculiX.
```
- Then, it validates the input, such as checking if the dates are consistent, checking if the URLs are correct, giving a warning if there are any spelling mistakes, etc.
- Then, it creates a $\LaTeX$ file.
- Finally, it renders the $\LaTeX$ file to generate the PDF, and you don't need $\LaTeX$ installed on your PC because the packages come with [TinyTeX](https://yihui.org/tinytex/).
## OneLineEntry
## Quick Start Guide
## EducationEntry
1. Install [Python](https://www.python.org/downloads/) (3.10 or newer).
2. Run the command below to install RenderCV.
```bash
pip install rendercv
```
3. Run the command below to generate a sample input file (`Full_Name_CV.yaml`). The file will be generated in the current working directory.
```bash
rendercv new "Full Name"
```
4. Edit the contents of the `Full_Name_CV.yaml` file.
5. Run the command below to generate your $\LaTeX$ CV.
```bash
rendercv render Full_Name_CV.yaml
```
## ExperienceEntry
## NormalEntry
## Contributing
All contributions to RenderCV are welcome, especially adding new $\LaTeX$ themes.

0
docs/user_guide.md Normal file
View File

View File

@ -34,17 +34,21 @@ theme:
- content.action.view # view source button for pages
- navigation.footer # the previous and next buttons in the footer
- navigation.indexes # allow mother pages to have their own index pages
- navigation.tabs # render classical type of navbar at top
# - navigation.tabs # render classical type of navbar at top
- navigation.instant # instant navigation for faster page loads
- navigation.instant.prefetch # prefetch pages for instant navigation
- navigation.instant.progress # show progress bar for instant navigation
- navigation.top # back to top button
- search.highlight # highlight search results after going to a page
- search.suggest # show search suggestions while typing
- toc.follow # if toc sidebar doesn't fit, scroll to the active heading
nav:
- Quick Start: index.md
- Contact: contact.md
- Overview: index.md
- User Guide: user_guide.md
- Code Documentation:
- Code Documentation: documentation/index.md
- __main__.py: documentation/__main__.md
- data_model.py: documentation/data_model.md
- rendering.py: documentation/rendering.md