Personal portfolio + blog built with Astro for GitHub Pages. The site is dark-only, markdown-driven, and intentionally simple to maintain by hand.
npm installnpm run devnpm run build- Site-wide text, social links, and homepage/about metadata live in
src/config/site.ts. - Blog posts live in
src/data/blog/*.md. - Shared layout, navigation, footer, and SEO components live in
src/componentsandsrc/layouts. - Global styling is in
src/styles/global.css.
- Push the repo to GitHub.
- In the repository settings, enable GitHub Pages and set the source to GitHub Actions.
- Push to
mainto trigger.github/workflows/deploy.yml.
The Astro config derives the correct GitHub Pages base path automatically for both username.github.io repos and project repos. If you later use a custom domain, set SITE_URL in the workflow or environment to your final production URL.