Skip to content

feat(cv): embed the CV in a terminal-style PDF viewer at /cv - #18

Merged
TomasPalsson merged 1 commit into
mainfrom
feat/cv-viewer
Sep 17, 2026
Merged

TomasPalsson merged 1 commit into
mainfrom
feat/cv-viewer

Conversation

@TomasPalsson

Copy link
Copy Markdown
Owner

Summary

  • Ships public/cv.pdf and renders it client-side with pdf.js at /cv (the old api.tomasari.is/cv link 404s).
  • The viewer is a less/vim pastiche: fake boot log, j/k/n/p/gg/G navigation, +/-/0 zoom, a : command line (:2, :zoom 150, :crt, :w, :q), phosphor mode (page pixels remapped to terminal green on black + scanlines), cat mode (extracted text typed out), xxd mode (raw bytes), and a ? help overlay. Toolbar buttons mirror every key for touch users.
  • cv terminal command and both About Me links now point at /cv.

Verification

  • tsc --noEmit, eslint . (0 errors), vitest run 284/284 (13 new tests: command parser, phosphor mapping, hex dump, screen flow with pdf.js mocked).
  • next build static export emits /cv, cv.pdf, and the pdf.js worker asset.
  • Walked through in headless Chrome: both pages render, every mode/overlay/command works, mobile width OK.

Notes

  • The PDF used is the March 2026 cv (1).pdf from Downloads — replace public/cv.pdf to update.

🤖 Generated with Claude Code

@TomasPalsson
TomasPalsson marked this pull request as ready for review September 17, 2026 16:19
Ship cv.pdf with the site and render it client-side with pdf.js instead
of linking to api.tomasari.is/cv (which 404s). The viewer is a less/vim
pastiche: fake boot log, j/k/n/p/gg/G navigation, +/- zoom, a `:`
command line (:2, :zoom 150, :crt, :w, :q), a phosphor/CRT mode that
remaps the rendered page to green-on-black with scanlines, a `cat` mode
that types out the extracted text, an `xxd` mode showing the raw bytes,
and a ? help overlay. The cv command and About Me links now point at /cv.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@TomasPalsson
TomasPalsson merged commit 12e42ef into main Sep 17, 2026
4 checks passed
@TomasPalsson
TomasPalsson deleted the feat/cv-viewer branch September 17, 2026 16:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant