A little personal project to author a kick-ass resume in HTML or PDF.
Most of the work is leveraged by hacksalot/HackMyResume, kudos to him.
This project contains my resume as a .json file (FRESH resume) aggremented with tools to help develop and release:
- Dockerized HackMyResume
- Custom FRESH theme, called
henlo
- Puppeteer to generate the PDFs -- see below why
- BrowserSync to serve the HTML/CSS and live reload
- Gulp to watch files and rebuild, refresh while developing
With a little work, it could become useful as starter-pack/example maybe?
The first time, you probably just want to start the container.
~$ docker-compose up
There, you're done and go to http://localhost:9000/base.html
.
Gulp is watching files and BrowserSync will live reload your page automatically. Any change to .json
, .html
, .hbs
or .css
, will trigger a rebuild of both the base.html and base.pdf output files (see dist/
folder). Simple but realy handy while working on your content or design.
~$ docker-compose run node /bin/bash -c 'yarn run hackmyresume:dist'
This will generate the final files:
/dist/resume.html
/dist/resume.pdf
Any files named private-*.json
in the src/
will be included in this type of build. I use it to have my contact informations private and not committed to this repository.
🇫🇷 Oui, 🇩🇪 Ja
However, at the moment it only supports a handful of FRESH fields that I am using. 👹
Yes, HackMyResume can generate PDF resume. However:
- Features like Flexbox, CSS multi-columns layout and CSS Grid are not supported by the vrsion of QtWebkit used by wkhtmltopdf and PhantomJS
- WeasyPrint is awesome though, the only thing missing was CSS Grid support that is still a work in progress, really cool project.
- Puppeteer in the other hand uses a headless chromium and has support for (all?) a lot of the latest CSS features!
You can find the a script, provision.sh, to install those 3 tools and test them. This should definitely go into the dockerfile but since I do not use them, I didn't include them in the container, yet.
I didn't have a Dockerfile before needing Puppeteer, and I was using a default node image.
However the documentation is great (error messages are nice too!) and everything is explained there:
- Move the theme into its own repository.
- Create another repository without my data, to offer dockerized and live reload as a "starter pack"; if you would find it useful, open an issue.
- Make a PR to hacksalot/HackMyResume to include puppeteer support!