Personal site, same layout as a GitHub Pages portfolio: React, TypeScript, and Vite. base is /, so the repository name should be adnandbss.github.io.
Identity, experience, and projects are empty on purpose. Fill them in src/data/, then add a page shell for each new slug.
npm install
npm run dev| What | File |
|---|---|
| Name, schools, about, email, LinkedIn, résumé filename | src/data/site.ts |
| Roles | src/data/experience-detail.ts and src/data/experience-build.ts |
| Projects | src/data/project-detail.ts and src/data/project-poster-build.ts |
| Résumé PDF | public/ (set site.resume to the filename) |
| Figures | public/images/experience/<slug>/ and public/images/projects/<slug>/ |
| Papers and posters | public/papers/ |
- Append an object to
projectDetailsinsrc/data/project-detail.ts. - Append the same slug to
PROJECT_POSTER_BUILD_SLUGSinsrc/data/project-poster-build.ts. - Create
projects/<slug>/index.html:
<!doctype html>
<html lang="en" data-project-slug="SLUG">
<head>
<meta charset="UTF-8" />
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="description" content="TITLE — Adnan Ahali." />
<title>TITLE — Adnan Ahali</title>
<link rel="canonical" href="https://adnandbss.github.io/projects/SLUG/" />
</head>
<body>
<div id="root"></div>
<script type="module" src="../../src/project-poster-entry.tsx"></script>
</body>
</html>- Append an object to
experienceDetailsinsrc/data/experience-detail.ts. - Append the same slug to
EXPERIENCE_BUILD_SLUGSinsrc/data/experience-build.ts. - Create
experience/<slug>/index.htmlthe same way, withdata-experience-slugandsrc/experience-single-entry.tsx.