Sina Atalay 4331110c55 Upgrade to v2 (#271)
* prepare the base for typst

* rename theme folders

* rename themes

* rename themes

* update testdata with new theme names

* rename themes

* fix docs issues

* fundamentals

* fundamental renames

* generalize `create_a_latex_file`

* generalize render_a_pdf_from_latex

* make latex optional dependency, and add typst as dependency

* first tests with typst

* finish `markdown_to_typst`

* fix `markdown_to_latex`

* finish `markdown_to_typst`

* first steps towards Typst RenderCV themes

* first draft of classic theme

* start working on new design options

* work on new design options

* make default theme: "classic"

* start integrating design options with templates

* rename typst variables

* start working on connections integration

* polish connections

* polish design options and themes

* fix spelling mistakes and improve typst themes

* use ms instead of s in printer

* improve templates

* fix typos

* use ms instead of s in printer

* improve typst templates

* improve

* improve

* improve

* improve

* make PyMuPDF optional

* rename last_updated_date_style to last_updated_date_template

* revert changelog

* progress

* improve

* exclude gifs from sdist

* update tests

* improve templates

* improve templater

* data: update `sample_content.yaml`

* improve

* remove latex support

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* remove testdata

* remove latex

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* rename `locale_catalog` to `locale`

* docs: update developer guide faq

* add new input, rendercv_settings.date

* add show_time_span_in

* create a new function, parse_validation_errors

* improve templates

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* improve

* update templates

* fix experience entry

* improve

* finish templates

* update tests

* update testdata

* remove time_machine

* update sample content

* improve

* add sb2nov theme

* update options

* update theme.options

* update theme.options

* update theme options

* create engineeringresumes templates

* add engineering resumes

* format

* update templates

* add new theme

* fix a typo in sample content

* update templating system

* update options

* add photo support

* update workflows

* improve templates

* improve parse_validation_errors

* create a new interface for web

* fix summary

* improve

* resolve typing issues

* update mkdocs.yaml

* update pyproject.toml

* update docs scripts

* update testdata

* update tests

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* rename column template fields

* update

* update test data

* add moderncv

* fix problems

* moderncv

* create moderncv

* fix tests

* update

* update

* update templates

* update

* use optional dependencies

* fix

* improve

* aa

* a

* update

* update

* update

* update

* rename

* update

* update

* update

* improve

* update

* update

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* update

* update

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* format

* update changelog

* update examples

* update entry figures

* update schema

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-01-07 01:30:40 +03:00
2025-01-07 01:30:40 +03:00
2025-01-07 01:30:40 +03:00
2025-01-07 01:30:40 +03:00
2025-01-07 01:30:40 +03:00
2025-01-07 01:30:40 +03:00
2025-01-07 01:30:40 +03:00
2025-01-07 01:30:40 +03:00
2024-03-27 19:23:09 +01:00
2025-01-07 01:30:40 +03:00
2025-01-07 01:30:40 +03:00
2025-01-07 01:30:40 +03:00
2025-01-07 01:30:40 +03:00

RenderCV

The engine of the RenderCV App

test coverage docs pypi-version pypi-downloads

RenderCV engine is a Typst-based Python package with a command-line interface (CLI) that allows you to version-control your CV/resume as source code. It reads a CV written in a YAML file with Markdown syntax, converts it into a Typst code, and generates a PDF.

RenderCV engine's focus is to provide these three features:

  • Content-first approach: Users should be able to focus on the content instead of worrying about the formatting.
  • A mechanism to version-control a CV's content and design separately: The content and design of a CV are separate issues and they should be treated separately.
  • Robustness: A PDF should be delivered if there aren't any errors. If errors exist, they should be clearly explained along with solutions.

It takes a YAML file that looks like this:

cv:
  name: John Doe
  location: Your Location
  email: youremail@yourdomain.com
  sections:
    this_is_a_section_title:
      - This is a type of entry, TextEntry—just a plain string.
      - You may have as many entries as you want under a section.
      - RenderCV offers a variety of entry types such as TextEntry,
        BulletEntry, EducationEntry, ExperienceEntry, NormalEntry,
        OneLineEntry, PublicationEntry.
      - Each entry type has its own set of attributes and different
        looks.
    my_education_section:
      - institution: Boğaziçi University
        area: Mechanical Engineering
        degree: BS
        start_date: 2024-09
        end_date: 2029-05
        highlights:
          - "GPA: 3.9/4.0 ([Transcript](https://example.com))"
          - "**Coursework:** Structural Analysis, Thermodynamics,
            Heat Transfer"
    experience: ...

Then, it produces one of these PDFs with its corresponding Typst file, Markdown file, HTML file, and images as PNGs. Click on the images below to preview PDF files.

Classic Theme Example of RenderCV Sb2nov Theme Example of RenderCV
Moderncv Theme Example of RenderCV Engineeringresumes Theme Example of RenderCV
Engineeringclassic Theme Example of RenderCV

RenderCV comes with a JSON Schema so that the YAML input file can be filled out interactively.

JSON Schema of RenderCV

Getting Started

RenderCV engine is very easy to install (pip install "rendercv[full]") and easy to use (rendercv new "John Doe"). Follow the user guide to get started.

Motivation

We are developing a purpose-built app for writing CVs and resumes that will be available on mobile and web. This Python project is the foundation of that app. Check out our blog post to learn more about why one would use such an app.

Contributing

All contributions to RenderCV are welcome! To get started, please read the developer guide.

Description
No description provided
Readme MIT 862 MiB
Languages
Python 97.9%
Typst 1.1%
HTML 0.4%
Dockerfile 0.3%
Just 0.3%