djoser 9c99027ea6 feat: SPA routing, projects/resume sections, deployment infra
- Add client-side router with History API pushState (router.ts, pages.ts)
- Extend overlay with projects grid/category/detail views and resume section
- Add Gitea CI/CD workflow and webhook deployment server
- Improve Docker Compose with nginx reverse proxy config
- Add deployment script and .env.example
2026-07-26 23:48:15 +00:00

WebGPU Portfolio

Build & Deploy

Generative-art portfolio site. WebGPU canvas background, DOM overlay UI.

Dev

npm install
npm run dev        # vite dev server (opens browser)
npm run typecheck  # tsc --noEmit
npm run build      # typecheck + vite build → dist/
npm run preview    # serve built dist/

Docker

# Build
docker build -t webgpu-portfolio .

# Run (foreground)
docker run --rm -p 8080:80 webgpu-portfolio

# Run (detached)
docker run -d -p 8080:80 --name portfolio webgpu-portfolio

# Compose
docker compose up -d

Site at http://localhost:8080.

Smoke test

docker run -d -p 8080:80 --name portfolio-test webgpu-portfolio
curl -sSf http://localhost:8080/ > /dev/null && echo "OK"
curl -sSf http://localhost:8080/assets/ | head -1     # should 200 (hashed JS)
docker stop portfolio-test

Image size

~6 MB (nginx:alpine-slim + static dist). Multi-stage build — Node build layer is discarded.

Description
No description provided
Readme 318 KiB
Languages
TypeScript 61.5%
HTML 14.9%
WGSL 10.3%
GLSL 5.4%
Python 3.8%
Other 4.1%