My CV in JSON format based on https://jsonresume.org/.
- On
cv.alfierenn.dev
- On the json-resume registry (via the gist)
- PDF on the releases page or website
The current theme is held within the ./theme
folder. You can also use online themes.
A list of themes can be found at https://jsonresume.org/themes/. You can try them by visiting the JSON resume registry. The theme can be changed via the theme
query parameter, e.g.:
https://registry.jsonresume.org/alifeee?theme=even
bun install
(in a separate folder) to install Chrome with Puppeteer (does not install with Bun)
npm install puppeteer
bun run test
bun run build-html
bun run build-pdf
Hot reload is on any files imported, which are template.txt
and cv.json
(see build.html.ts
). The template is a .txt
only as this can be imported into Bun natively, whereas other extensions require some typescript magic to be imported.
Note that hot reload does not work with Windows files. The repository must exist on a Linux filesystem.
To do this on Windows, open \\wsl.localhost\Ubuntu\home\<user>
with Explorer and open VSCode via the context menu. WSL can be used via the console window. This way, hot reload works in Bun.
Using it like this, sometimes VSCode's file explorer does not refresh properly.
bun run dev
Note: you still must manually refresh the opened PDF after it rebuilds. This is notably less hot than live-developing the HTML, but still quite fast.
bun run dev-pdf
See the files themselves for more details.
Action | Description |
---|---|
test.yml |
Runs on pull request and push to main . Verifies that the resume.json conforms to the json-resume schema, JS tests pass, and runs spellcheck |
publish.yml |
Runs on release (or tag). Builds the HTML and PDF, then pushes to: releases page; and publish branch (viewable on my GitHub pages). |
gist.yml |
Runs on release (or tag). Updates the resume gist if resume.json has changed. |