|
1 | | -# CV / Resume |
| 1 | +# Yury Zakharov – CV / Resume |
2 | 2 |
|
3 | | -This repository contains my curriculum vitae maintained as a **JSON Resume** document and rendered automatically to **HTML** and **PDF**. |
| 3 | +Single source of truth for my professional CV. |
4 | 4 |
|
5 | | -The JSON file is the single source of truth. |
6 | | -All rendered artefacts are generated from it. |
| 5 | +## Technology stack |
| 6 | +- **Source**: `cv.yaml` (human-readable YAML, validated by RenderCV schema) |
| 7 | +- **Engine**: [RenderCV](https://rendercv.com) (Typst typesetting) |
| 8 | +- **Outputs** (auto-generated): |
| 9 | + - `render-output/Yury_Zakharov_CV.pdf` – printer-friendly, ATS-compliant |
| 10 | + - `render-output/Yury_Zakharov_CV.html` – semantic HTML |
| 11 | + - `render-output/Yury_Zakharov_CV.md` – ready for GitHub profile README |
7 | 12 |
|
8 | | -## Structure |
| 13 | +## Workflow |
| 14 | +1. Edit only `cv.yaml` |
| 15 | +2. Push to `master` → GitHub Actions automatically re-renders everything |
| 16 | +3. Or render locally (NixOS): |
| 17 | + ```bash |
| 18 | + nix develop --command rendercv render cv.yaml --output-folder render-output -nopng |
9 | 19 |
|
10 | | -``` bash |
11 | | -├── resume.json # Source of truth (JSON Resume format) |
12 | | -├── build/ |
13 | | -│ ├── index.html # Web version (jsonresume-theme-even) |
14 | | -│ └── cv.pdf # Print-friendly PDF (StackOverflow theme + print.css) |
15 | | -├── print.css # Print-specific stylesheet for PDF generation |
16 | | -├── cover-letter/ |
17 | | -│ ├── template.md # General cover letter template |
18 | | -│ ├── email-template.md # General email template |
19 | | -│ ├── template-finance.md # Finance / regulated systems variant |
20 | | -│ └── README.md # Usage notes for cover letters |
21 | | -└── .github/ |
22 | | -└── workflows/ |
23 | | -└── render.yml # Automated rendering pipeline |
24 | | -``` |
| 20 | +## GitHub Actions |
25 | 21 |
|
26 | | -## Design principles |
| 22 | +- Triggers automatically on every push to master |
| 23 | +- Can be run manually on any branch (workflow_dispatch) |
27 | 24 |
|
28 | | -- **Single source of truth** |
29 | | - `resume.json` is authoritative. HTML and PDF are derived artefacts. |
30 | | - |
31 | | -- **Separation of concerns** |
32 | | - - Web presentation and print layout are handled separately |
33 | | - - Print-specific styling lives in `print.css` |
34 | | - |
35 | | -- **Minimalism and determinism** |
36 | | - - No manual editing of generated files |
37 | | - - Reproducible builds |
38 | | - |
39 | | -- **ATS tolerance** |
40 | | - - Schema-compliant JSON Resume format |
41 | | - - Conservative structure and wording |
42 | | - |
43 | | -## Rendering pipeline |
44 | | - |
45 | | -Rendering is automated via **GitHub Actions** and runs on: |
46 | | - |
47 | | -- manual trigger |
48 | | -- push or merge to the `master` branch |
49 | | - |
50 | | -The pipeline performs two independent renders: |
51 | | - |
52 | | -1. **Web version** |
53 | | - - Theme: `jsonresume-theme-even` |
54 | | - - Output: `build/index.html` |
55 | | - |
56 | | -2. **PDF version** |
57 | | - - Theme: `jsonresume-theme-stackoverflow` |
58 | | - - HTML rendered first |
59 | | - - Converted to PDF using WeasyPrint and `print.css` |
60 | | - - Output: `build/cv.pdf` |
61 | | - |
62 | | -Both artefacts are committed back to the repository. |
63 | | - |
64 | | -## Notes |
65 | | - |
66 | | -- Generated files are committed intentionally for convenience. |
67 | | -- Node and dependency warnings during rendering are tolerated if non-fatal. |
68 | | -- Cover letters in this repository are **templates only**; application-specific letters are kept private. |
69 | | - |
70 | | ---- |
| 25 | +All rendered files are committed to render-output/ for easy download. |
0 commit comments