[TOTALLY A WORK IN PROGRESS!] It does work. But kind of. And everything might get completely reengineered at any point. 🙃
Use with caution for now.
As simple as:
- Save your resume as a
resume.json
gist on Github; - Make sure it conforms to this schema;
- Choose the theme you want to use by setting your
$.meta
section in yourresume.json
like this:{ "meta" : { "author" : "{theme-author-name}", "name" : "{theme-name}" } ... }
- Go to
cv.marcopist.com/{your-github-username}
- Find your cv rendered as a PDF, enjoy!
- My
resume.json
- My theme:
marcopist/basic.jinja
- My rendered cv.marcopist.com/marcopist
Check out my example theme: marcopist/basic.jinja
. Themes are Jinja templates in HTML. Feel free to add a CSS section in the <style>
tags in the <head>
.
Simply make a pull request. I will review it. See the tech specs below on some general architecture notes.
There is continuous integration that runs the unit testing suite whenever any pull request is submitted. See /tests/Dockerfile
and .github/workflows/run-tests.yaml
for details.
This is a containerised application (see /Dockerfile
). Using containers is made necessary by the fact that this application has dependencies that cannot be declared within setup.cfg
or pyproject.toml
; the main one being wkhtmltopdf
, which is allows the generation of a PDF from HTML.
Similarly, the unit testing suite is containerised (see /tests/Dockerfile
) as it requires imagemagick
to compare PDFs pixel-wise - in addition to wkhtmltopdf
to generate them.
This service is deployed to Google Cloud Run. Continuous Deployment is activated, so on every push to main
the container is re-built & deployed.
Unit testing is run at every pull request using Github workflows (see /tests/Dockerfile
and /.github/workflows/run-tests.yaml
).