This project lets me build my current static resume.
Find it at ccjmne.github.io/resume or ccjmne.sh/resume.
This generates some HTML pages, printed out to PDF with Puppeteer.
Technologies used:
Packaged as a fairly standard NodeJS process (using pnpm
);
Published automatically through Continuous Deployment, leveraging GitHub Actions.
Install with pnpm install
.
Continuously watch-rebuild with pnpm start
(or pnpm dlx vite
) during development;
Perform a one-off compilation with pnpm run build
(or pnpm dlx vite build
).
The output (and the intermediary HTML-CSS-JS assets) will be generated under dist/
.
The following environment variables can be set to customise the build:
-
HYPHENATE
- whether to automatically insert soft-hyphens wherever applicable
- enabled with any value starting with
y
; defaults tono
- disabled by default with
production
builds, for having­
littered throughout each and every word isn't quite SEO-friendly, and might even throw off ATSes
-
OUTPUT
- the name of the output file, defaults to
ccjmne-resume.pdf
- generate screenshot if output ends in
.png
; otherwise coerce extension to.pdf
- the name of the output file, defaults to
-
BROWSER_KEEPALIVE
- how long to keep the spawned browser instance alive (for successive reprints), in milliseconds
- defaults to
30000
(30 seconds) in development mode, and0
in production
-
BROWSER_EXECUTABLE
- the path to the Chromium executable to use
- if unspecified, it'll use the first of these found on your
$PATH
:chrome-headless-shell
chromium
chromium-browser
google-chrome-stable
google-chrome
There is nothing to do, this process is automated.
With each newly published release on GitHub, GitHub Action pipeline will:
- check out the repository,
- install its dependencies if not cached already,
- verify adequate hyphenation by generating and comparing two screenshots:
- with automated soft-hyphenation for the
en-GB
locale - without the above
- with automated soft-hyphenation for the
- generate the PDF document, and
- publish it with GitHub Pages at ccjmne.github.io/resume and ccjmne.sh/resume.
GPL-3.0
You may copy, distribute and modify the software as long as you track changes/dates in source files. Any modifications to or software including (via compiler) GPL-licensed code must also be made available under the GPL along with build & install instructions.
Refer to the LICENSE file for more details.