Senior-level portfolio site built with Astro 6.2, MDX content collections, and Tailwind CSS. Static output goes to dist/ for GitHub Pages.
Requires Node 20+. This repo uses .npmrc with legacy-peer-deps=true so @astrojs/tailwind installs cleanly with Astro 6 until upstream peer ranges catch up.
npm install
npm run devnpm run build
npm run previewColors are semantic tokens in tailwind.config.mjs (canvas, surface, border, ink, accent). Edit the hex values there to re-skin the site.
- Content collections:
src/content.config.ts(glob loaders; Astro 6 format) - Case studies:
src/content/caseStudies/*.mdx - Blog:
src/content/blog/*.mdx - Site metadata and nav:
src/site.config.ts - Static assets (images, resume PDF):
public/
Replace public/April_Rieger_Software_Engineer_Resume_2026.pdf with your final resume.
This repo is set up for a user site at https://aprilrieger.github.io. site in astro.config.mjs must stay https://aprilrieger.github.io (no base path).
- Repo Settings → Pages → Build and deployment.
- Under Source, choose GitHub Actions (not “Deploy from a branch”).
- Push
mainorusing-astro; the workflow.github/workflows/deploy-pages.ymlwill build and publishdist/. (While the Astro branch is in flight,using-astroandmainboth deploy to the same site; after you’re done, removeusing-astrofrom the workflow so onlymaindeploys—see comments in that file.)
- Push to
mainorusing-astro:npm ci→npm run build→ uploaddist/→ deploy withactions/deploy-pages. - Pull requests into
mainorusing-astro: runs build only (no deploy). - Workflow dispatch: run manually from
mainorusing-astroto deploy that ref.
Publishing uses the same workflow as Astro’s GitHub guide. You can still run npm run deploy locally with gh-pages if needed; Actions is the recommended path.