Personal portfolio site for Hunter Evanoff, built with React and Vite (powered by Rolldown).
- Vite (
rolldown-vite) — dev server & bundler - React 18
- Sass — styling (built-in Vite support)
- vite-imagetools — build-time responsive/WebP image generation
- GSAP — animations
- react-modal, react-spinners
nvm use # Node 22 (see .nvmrc)
npm install
npm run dev # start dev server| Command | Description |
|---|---|
npm run dev |
Start the Vite dev server |
npm run build |
Production build to dist/ |
npm run preview |
Preview the production build locally |
npm run deploy |
Build and publish dist/ to the master branch via gh-pages |
npm run format |
Format files with Prettier |
Pushing to the code branch triggers the GitHub Actions workflow
(.github/workflows/node.js.yml), which builds the site and deploys dist/
to the master branch (served by GitHub Pages at evanoff.dev).
index.html— app entry & static SEO meta tagssrc/main.jsx— React mount pointsrc/pages/index.jsx— top-level pagesrc/components/— UI componentssrc/data/portfolioData.json— portfolio project datasrc/images/— source images (optimized at build time)public/— static assets copied verbatim (resume, manifest, CNAME, favicon)