update docs

This commit is contained in:
Sina Atalay 2023-10-20 22:09:19 +02:00
parent 64530a79c3
commit 8d4b982646
7 changed files with 218 additions and 0 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 71 KiB

BIN
docs/images/NormalEntry.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

View File

@ -0,0 +1,215 @@
# RenderCV: User Guide
After you've installed RenderCV with
```bash
pip install rendercv
```
you can start rendering your CV.
Firstly, go to the directory where you want your CV files located and run:
```bash
rendercv new "Your Full Name"
```
This will create a YAML input file for RenderCV called `Your_Name_CV.yaml`. Open this generated file in your favorite IDE and start editing. It governs all the features of RenderCV.
!!! tip
To maximize your productivity while editing the input YAML file, set up RenderCV's JSON Schema in your IDE. It will validate your inputs on the fly and give auto-complete suggestions.
=== "Visual Studio Code"
1. Install [YAML language support](https://marketplace.visualstudio.com/items?itemName=redhat.vscode-yaml) extension.
2. Then the Schema will be automatically set up because the file ends with `_CV.yaml`.
=== "Other"
1. Ensure your editor of choice has support for YAML schema validation.
2. Add the following line at the top of `Your_Name_CV.yaml`:
``` yaml
# yaml-language-server: $schema=https://github.com/sinaatalay/rendercv/blob/main/schema.json?raw=true
```
After you're done editing your input file, run the command below to render your CV:
```bash
rendercv render Your_Name_CV.yaml
```
## Entry Types
There are five entry types in RenderCV:
1. *EducationEntry*
2. *ExperienceEntry*
3. *NormalEntry*
4. *OneLineEntry*
5. *PublicationEntry*
The whole CV consists of these entries. The table below shows what sections of the input file use which entry type.
| YAML section | Entry Type |
| ------------------------------ | -------------------------------- |
| `education` | *EducationEntry* |
| `work_experience` | *ExperienceEntry* |
| `academic_projects` | *NormalEntry* |
| `publications` | *PublicationEntry* |
| `certificates` | *NormalEntry* |
| `skills` | *OneLineEntry* |
| `test_scores` | *OneLineEntry* |
| `personal_projects` | *NormalEntry* |
| `extracurricular_activities` | *ExperienceEntry* |
| `custom_sections` | **They can be any of the five!** |
!!! info
Note that *EducationEntry* is not necessarily for education entries only. It's one of the five entry designs that RenderCV offers, and it could be used for anything (see [custom sections](http://user_guide.md#custom_sections)). *EducationEntry* just happens to be its name. The same goes for other entries, too.
### *EducationEntry*
```yaml
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"
```
which renders into
![EducationEntry](images/EducationEntry.png)
### *ExperienceEntry*
```yaml
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.
```
which renders into
![ExperienceEntry](images/ExperienceEntry.png)
### *NormalEntry*
```yaml
name: Design and Construction of a Dynamometer
location: Istanbul, Turkey
date: Fall 2022
highlights:
- Designed and constructed a controllable dynamometer that measures an electric
motor's torque and power output at different speeds for my senior design project.
url: https://example.com
```
which renders into
![NormalEntry](images/NormalEntry.png)
### *OneLineEntry*
```yaml
name: Programming
details: C++, C, Python, JavaScript, MATLAB, Lua, LaTeX
```
which renders into
![OneLineEntry](images/OneLineEntry.png)
### *PublicationEntry*
```yaml
title: Phononic band gaps induced by inertial amplification in periodic media
authors:
- Author 1
- John Doe
- Author 3
journal: Physical Review B
doi: 10.1103/PhysRevB.76.054309
date: "2007-08-01"
cited_by: 243
```
which renders into
![PublicationEntry](images/PublicationEntry.png)
## Custom Sections
Custom sections with custom titles can be created. Each custom section will be an object that looks like this:
```yaml
title: My Custom Section
entry_type: OneLineEntry
entries:
- name: Testing custom sections
details: Wohooo!
- name: This is a
details: OneLineEntry!
```
And `custom_sections` part of the data model will be a list of customs section objects that look like this:
```yaml
custom_sections:
- title: My Custom Section
entry_type: OneLineEntry
entries:
- name: Testing custom sections
details: Wohooo!
- name: This is a
details: OneLineEntry!
- title: My Other Custom Section
entry_type: EducationEntry
entries:
- institution: Hop!
area: Hop!
study_type: HA
highlights:
- "There are only five types of entries: *EducationEntry*, *ExperienceEntry*,
*NormalEntry*, *OneLineEntry*, and *PublicationEntry*."
- This is an EducationEntry!
start_date: "2022-06-15"
end_date: "2022-08-01"
```
Each custom section needs to have an entry type, and entries should be adjusted according to the entry type selection.
!!! note
Some entry types use links, and all the links have a text placeholder. That placeholder can be changed with `link_text` setting as shown below:
```yaml
title: My Third Custom Section
entry_type: ExperienceEntry
link_text: My Link Text
entries:
- company: Hop!
position: Hop!
date: My Date
location: My Location
url: https://example.com
highlights:
- I think this is really working. This is an *ExperienceEntry*!
```

View File

@ -60,9 +60,12 @@ markdown_extensions:
pygments_lang_class: true
- pymdownx.inlinehilite
- pymdownx.superfences
- pymdownx.tabbed: # content tabs
alternate_style: true
- toc:
permalink: true
title: Page contents
- admonition # blocks like note, warning, tip, etc.
plugins:
- search