A few words about the problem: CV.pdf
, CV_updated.pdf
, CV_updated2.pdf
. It's hard to keep tracking updates on your resume. Thus many people go to online services that generate good-looking resumes by providing an ability to edit templates via UI.
They are mostly not free and don't provide transparent versioning of a resume. Also, who knows, but maybe some of such services will be shut down in a month, year or so. It means I can't restore my information.
Why
I thought it'll be interesting to try to store a resume in some simple format in a private Git repository (or just in a local Git repo). It's easier to see diffs and track updates. So I wrote a script that takes resume information from a JSON file and generates HTML based on the data.
How it works
What it does is replaces variables like {{ experience }}
in an HTML template with the corresponding values from the JSON file.
Example of the JSON resume template:
Example of an HTML template result:
Thus, I could keep my custom HTML template and resume in JSON format in a Git repo and generate HTML when I do updates. Like this:
"simple" is a pre-defined theme
There is an ability to create your own HTML theme, an example:
<!-- Embed CSS, JS, as in usual HTML -->
<style></style>
<div>{{ basics.name }}</div>
<h2>{{ basics.label }}</p>
Advanced use cases
It'll be great if I push updated cv.json
to a remote repo, and CI will update a website where my resume available.
The workflow could be:
- I push new commit (updated
cv.json
) - CI script generates the HTML (
qcv build-from my_website_theme.html
) - Deploys it to a server where a website is hosted
The repo:
What do you think? Any feedback is hugely welcomed!
I'm on Twitter
Top comments (0)