A personal portfolio site built with Next.js, React, and TypeScript, styled with Tailwind CSS, and deployed to GitHub Pages with the custom domain redas23.com.
- Hero / intro
- About Me
- Projects
- Skills
- Contact
Content lives in data/site.ts β edit the profile, projects, and skillGroups objects there to personalize the site. Everything is fully typed.
npm install
npm run devOpen http://localhost:3000.
Other useful scripts:
npm run typecheck # TypeScript type checking
npm run lint # ESLint
npm run build # Production build (static export to ./out)This repo includes a GitHub Actions workflow (.github/workflows/deploy.yml) that builds the site and deploys it to GitHub Pages on every push to main.
To enable it (one-time setup, in the GitHub repo settings):
- Go to Settings β Pages.
- Under Build and deployment, set Source to GitHub Actions.
- Push/merge to
mainβ the workflow will build and publish the site.
The site already includes public/CNAME containing redas23.com, which tells GitHub Pages to serve the site on that domain. To finish connecting it:
-
In this repo: Settings β Pages β Custom domain β enter
redas23.comβ Save. (GitHub will detect theCNAMEfile automatically, but setting it here also lets GitHub manage HTTPS certificate provisioning.) -
At your domain registrar for redas23.com, add these DNS records:
Type Host/Name Value A @ 185.199.108.153 A @ 185.199.109.153 A @ 185.199.110.153 A @ 185.199.111.153 CNAME www <your-github-username>.github.io(These are GitHub Pages' standard apex-domain IPs. If you'd rather only use
www.redas23.com, you can skip the A records and just set the CNAME, then setwww.redas23.comas the custom domain instead.) -
Wait for DNS to propagate (can take a few minutes to a few hours), then back in Settings β Pages, check Enforce HTTPS once it becomes available.
Once DNS resolves and the certificate is issued, https://redas23.com will serve this site.
- Next.js (App Router, static export)
- React + TypeScript
- Tailwind CSS
- GitHub Actions + GitHub Pages