This is my personal website, built with Nuxt, Vue, UnoCSS, and Nitro SSR.
pnpm install
pnpm run devUpload local source photos to the managed D1 + R2 photo library:
pnpm run upload:local-photosKeep source photos in local/ (or set PHOTO_SOURCE_DIR). The upload script creates optimized
variants and sends the original, compressed image, thumbnail, and metadata to D1 + R2. The site
loads the photo list through /api/photos; generated photo files are not committed under
public/.
pnpm run lint
pnpm run typecheck
pnpm run buildThe app uses Nuxt file-based routing, Nuxt Content for Markdown posts, and Nitro server routes for the GitHub and photo APIs.