From 64530a79c30c9bc49a025a29bbd80017340cfa96 Mon Sep 17 00:00:00 2001 From: Sina Atalay Date: Fri, 20 Oct 2023 20:58:43 +0200 Subject: [PATCH] update docs --- README.md | 47 +++++++++++++++---- docs/documentation/__main__.md | 3 ++ docs/documentation/index.md | 4 +- docs/index.md | 85 ++++++++++++++++++++++++++++------ docs/user_guide.md | 0 mkdocs.yml => mkdocs.yaml | 10 ++-- 6 files changed, 122 insertions(+), 27 deletions(-) create mode 100644 docs/documentation/__main__.md create mode 100644 docs/user_guide.md rename mkdocs.yml => mkdocs.yaml (86%) diff --git a/README.md b/README.md index e13d271..4eacd98 100644 --- a/README.md +++ b/README.md @@ -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. \ No newline at end of file diff --git a/docs/documentation/__main__.md b/docs/documentation/__main__.md new file mode 100644 index 0000000..e8073f9 --- /dev/null +++ b/docs/documentation/__main__.md @@ -0,0 +1,3 @@ +# __main___ + +::: rendercv.__main__ \ No newline at end of file diff --git a/docs/documentation/index.md b/docs/documentation/index.md index daeafc6..a6e1dac 100644 --- a/docs/documentation/index.md +++ b/docs/documentation/index.md @@ -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. \ No newline at end of file +- [rendering](rendering.md) – This module implements $\LaTeX$ file generation and $\LaTeX$ runner utilities for RenderCV. \ No newline at end of file diff --git a/docs/index.md b/docs/index.md index 754f22a..bae453d 100644 --- a/docs/index.md +++ b/docs/index.md @@ -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. \ No newline at end of file diff --git a/docs/user_guide.md b/docs/user_guide.md new file mode 100644 index 0000000..e69de29 diff --git a/mkdocs.yml b/mkdocs.yaml similarity index 86% rename from mkdocs.yml rename to mkdocs.yaml index 91d88c1..c875d85 100644 --- a/mkdocs.yml +++ b/mkdocs.yaml @@ -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