{"id":35799862,"url":"https://github.com/adrienrn/resume","last_synced_at":"2026-01-07T11:00:02.966Z","repository":{"id":42335426,"uuid":"199204531","full_name":"adrienrn/resume","owner":"adrienrn","description":"Personal resume w/ HackMyResume and a custom fresh-theme","archived":false,"fork":false,"pushed_at":"2022-12-04T04:56:58.000Z","size":1312,"stargazers_count":3,"open_issues_count":1,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2023-02-28T06:11:47.012Z","etag":null,"topics":["browser-sync","docker","fresca","fresh-theme","gulp","hackmyresume"],"latest_commit_sha":null,"homepage":"","language":"CSS","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/adrienrn.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-07-27T19:14:33.000Z","updated_at":"2022-08-19T15:45:26.000Z","dependencies_parsed_at":"2023-01-22T20:30:11.591Z","dependency_job_id":null,"html_url":"https://github.com/adrienrn/resume","commit_stats":null,"previous_names":[],"tags_count":null,"template":null,"template_full_name":null,"purl":"pkg:github/adrienrn/resume","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adrienrn%2Fresume","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adrienrn%2Fresume/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adrienrn%2Fresume/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adrienrn%2Fresume/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/adrienrn","download_url":"https://codeload.github.com/adrienrn/resume/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adrienrn%2Fresume/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28234794,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2026-01-07T02:00:05.975Z","response_time":58,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["browser-sync","docker","fresca","fresh-theme","gulp","hackmyresume"],"created_at":"2026-01-07T11:00:00.438Z","updated_at":"2026-01-07T11:00:02.958Z","avatar_url":"https://github.com/adrienrn.png","language":"CSS","readme":"# resume\n\nA little personal project to author a kick-ass resume in HTML or PDF.\n\n![PDF resume preview](https://raw.githubusercontent.com/adrienrn/resume/dev/screenshot.jpg)\n\nMost of the work is leveraged by [hacksalot/HackMyResume](https://github.com/hacksalot/HackMyResume), kudos to him.\n\nThis project contains my resume as a .json file (FRESH resume) aggremented with tools to help develop and release:\n\n- Dockerized HackMyResume\n- Custom FRESH theme, called `henlo`\n- Puppeteer to generate the PDFs -- see below why\n- BrowserSync to serve the HTML/CSS and live reload\n- Gulp to watch files and rebuild, refresh while developing\n\nWith a little work, it could become useful as starter-pack/example maybe?\n\n## Get started\n\nThe first time, you probably just want to start the container.\n\n```\n~$ docker-compose up\n```\n\nThere, you're done and go to `http://localhost:9000/base.html`.\n\nGulp 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.\n\n## Generate\n\n```\n~$  docker-compose run node /bin/bash -c 'yarn run hackmyresume:dist'\n```\n\nThis will generate the final files:\n- `/dist/resume.html`\n- `/dist/resume.pdf`\n\nAny 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.\n\n## FAQ\n\n### Are you going to release the henlo theme?\n\n🇫🇷 Oui, 🇩🇪 Ja\n\nHowever, at the moment it only supports a handful of FRESH fields that I am using. 👹\n\n### Why use Puppeteer?\n\nYes, HackMyResume can generate PDF resume. However:\n\n- Features like Flexbox, CSS multi-columns layout and CSS Grid are [not supported by the vrsion of QtWebkit](http://trac.webkit.org/wiki/QtWebKitFeatures22) used by [wkhtmltopdf](https://wkhtmltopdf.org/) and [PhantomJS](https://phantomjs.org/)\n- [WeasyPrint](https://github.com/Kozea/WeasyPrint) is awesome though, [the only thing missing was CSS Grid support that is still a work in progress](https://github.com/Kozea/WeasyPrint/issues/543), really cool project.\n- [Puppeteer](https://github.com/GoogleChrome/puppeteer) in the other hand uses a headless chromium and has support for (all?) a lot of the latest CSS features!\n\nYou can find the a script, [provision.sh](https://github.com/adrienrn/resume/blob/dev/scripts/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.\n\n### Why all the fuss in the Dockerfile?\n\nI didn't have a Dockerfile before needing Puppeteer, and I was using a default node image.\n\nHowever the documentation is great (error messages are nice too!) and everything is explained there:\n- [Troubleshooting](https://github.com/GoogleChrome/puppeteer/blob/master/docs/troubleshooting.md#running-puppeteer-in-docker)\n- [Example](https://github.com/ebidel/try-puppeteer/tree/1ce29c6a2068bb824c59a71958af7b8607179fc4)\n\n### Next steps?\n\n- Move the theme into its own repository.\n- 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.\n- Make a PR to [hacksalot/HackMyResume](https://github.com/hacksalot/HackMyResume) to include puppeteer support!\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadrienrn%2Fresume","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fadrienrn%2Fresume","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadrienrn%2Fresume/lists"}