# CV Generator

Generate a polished PDF CV from a Markdown file with YAML frontmatter.

The CV data (work experience, education, skills, etc.) is defined as structured YAML frontmatter, while the cover letter is written as regular Markdown below it. The tool renders everything into a styled PDF using Jinja2 templates and WeasyPrint.

## Example

The `example/` directory contains a sample CV for Albert Einstein, applying to the Swiss Patent Office in 1902.

| Cover Letter | CV |
|---|---|
| ![Cover Letter](example/einstein_cv-1.png) | ![CV](example/einstein_cv-2.png) |

## Usage

```bash
uv run cv path/to/your_cv.md
```

To specify a custom output path:

```bash
uv run cv path/to/your_cv.md -o output.pdf
```

## Markdown File Format

The input file uses YAML frontmatter for structured data and Markdown for the cover letter body. See `example/alberteinstein.md` for a complete example.

Photo and signature paths are resolved relative to the Markdown file's location.

## Third-Party Assets

The following bundled assets are licensed separately from this project:

- **Fira Sans Condensed** (`src/cv_generator/fonts/`)
  Designed by Carrois Corporate GbR & Edenspiekermann AG for the Mozilla Foundation.
  Licensed under the [SIL Open Font License, Version 1.1](https://scripts.sil.org/OFL).
  Source: [github.com/mozilla/Fira](https://github.com/mozilla/Fira)

- **Bootstrap Icons** (`src/cv_generator/icons/`)
  Copyright 2019-2024 The Bootstrap Authors.
  Licensed under the [MIT License](https://github.com/twbs/icons/blob/main/LICENSE).
  Source: [icons.getbootstrap.com](https://icons.getbootstrap.com/)

- **Einstein's Application Photography** (`src/example/`)
  Generated by BlackForestLabs Flux 2 Pro


## License

This project is licensed under the [MIT License](LICENSE.md).
