a10418ab93027819ba41aa3422f1cd641e3670d8
- CV split button: make the chevron <details> flex and the summary full-height so the toggle matches the primary button height (verified 39.1px == 39.1px) - nginx: /Linkedin now 301s to the real profile (linkedin.com/in/connor-babbington) - prettier-ignore .pnpm-store; gitignore .claude/settings.local.json; e2e port 4321->4399; dev preview autoPort Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
ResumeSite — Connor Babbington portfolio
Bilingual (English / Norwegian Bokmål) portfolio website. Static-first Astro site with a
small self-hosted .NET contact relay, built to the specifications in docs/.
- Design system & UX (Phase 1):
docs/design/ - Architecture & technical spec (Phase 2):
docs/spec/ - Build status:
PROJECT_STATUS.md· Work list:TODO.md
Stack
Astro 5 (static output) · TypeScript (strict) · Tailwind CSS 4 over CSS custom-property tokens · CSS-first motion (no animation library) · built-in i18n + typed dictionaries + content collections · zero client-state libraries · .NET 9 minimal-API contact relay · pnpm / Vitest / Playwright · Docker + nginx, self-hosted.
Quick start (local, without Docker)
cd site
pnpm install
pnpm dev # http://localhost:4321
Quick start (Docker)
# Development (HMR)
docker compose -f deploy/docker-compose.dev.yml up
# Production build preview
docker compose -f deploy/docker-compose.yml up --build
See docs/spec/DOCKER_SPEC.md and
docs/spec/DEPLOYMENT_SPEC.md for the full picture.
Repository layout
site/ Astro project (pages, components, content, i18n, styles, scripts)
relay/ .NET 9 minimal-API contact relay
deploy/ compose files, nginx config, env templates
tests/ Playwright end-to-end tests
docs/ design (Phase 1) + spec (Phase 2)
.gitea/ CI/CD workflows
Commands
| Command | What it does |
|---|---|
pnpm dev |
Astro dev server with HMR |
pnpm build |
Static production build → site/dist/ |
pnpm preview |
Serve the production build locally |
pnpm check |
astro check + tsc --noEmit |
pnpm lint |
ESLint + Prettier check |
pnpm test |
Vitest unit tests |
pnpm test:e2e |
Playwright end-to-end tests |
Description
Languages
TypeScript
53.8%
Astro
29.9%
JavaScript
9.2%
CSS
4.4%
C#
1.9%
Other
0.8%