This repository hosts your portfolio on GitHub Pages. It includes:This repository hosts your portfolio on GitHub Pages. It includes:
A static prototype at the repo root: index.html + /assets- A static prototype at the repo root: index.html + /assets
A Next.js app in site/ configured for static export and automated deploy via GitHub Actions- A Next.js app in site/ configured for static export and automated deploy via GitHub Actions
/ (root)- / (root)
index.html — Static landing page (prototype) - index.html — Static landing page (prototype)
assets/ — Static CSS/JS used by the prototype - assets/ — Static CSS/JS used by the prototype
CNAME — Custom domain (alsandhimal.me) - CNAME — Custom domain (alsandhimal.me)
.github/workflows/deploy.yml — CI to build/export Next site and deploy to Pages - .github/workflows/deploy.yml — CI to build/export Next site and deploy to Pages
site/ (Next.js App Router)- site/ (Next.js App Router)
app/ — layout.tsx, page.tsx, globals.css - app/ — layout.tsx, page.tsx, globals.css
components/ — Header.tsx - components/ — Header.tsx
public/ — Static files copied to the export root (includes CNAME) - public/ — Static files copied to the export root (includes CNAME)
package.json, tsconfig.json, next.config.mjs - package.json, tsconfig.json, next.config.mjs
cd sitecd site
npm installnpm install
npm run devnpm run dev
Open http://localhost:3000Open http://localhost:3000
cd sitecd site
npm run buildnpm run build
Output is written to site/out/.Output is written to site/out/.
Pushing to main or homePage triggers the GitHub Actions workflow that builds site/ and deploys the exported HTML to GitHub Pages. Ensure Pages source is set to “GitHub Actions” in repo settings. The domain is configured via CNAME and the repository Pages settings.Pushing to main or homePage triggers the GitHub Actions workflow that builds site/ and deploys the exported HTML to GitHub Pages. Ensure Pages source is set to “GitHub Actions” in repo settings. The domain is configured via CNAME and the repository Pages settings.
Update content in site/app/page.tsx (name, email, links, projects)- Update content in site/app/page.tsx (name, email, links, projects)
Global styles in site/app/globals.css- Global styles in site/app/globals.css
Metadata (SEO/Open Graph) in site/app/layout.tsx- Metadata (SEO/Open Graph) in site/app/layout.tsx