Skip to content

About

Source for amanthanvi.com — Aman Thanvi's personal website.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Repository files navigation

Aman Thanvi — Personal site

Static portfolio built with Astro and Tailwind CSS v4. One homepage plus MDX blog posts, binary light/dark themes (plus system auto). Deployed to GitHub Pages, with a small Cloudflare Worker in front that serves a Markdown version of each page to clients that ask for it.

Quick start

npm ci
npm run dev
Script What it does
npm run build astro build, then scripts/generate-markdown.mjs writes dist/agent-markdown/ and dist/llms.txt
npm run preview Serve the built dist/ locally
npm run check Astro type check
npm run test:worker Unit tests for the Cloudflare Worker (src/worker.test.mjs)
npm run worker:dev / worker:deploy Run or deploy the Worker with the pinned wrangler (deploy needs Cloudflare credentials)

See AGENTS.md for CI and contributor expectations.

Repository layout

Path Purpose
src/pages/ Routes: index.astro, blog/[...slug].astro, 404.astro. The sitemap comes from @astrojs/sitemap (/sitemap-index.xml).
src/components/ Layout, sections, UI
src/content/ Collections (projects/, blog/), publications.json
src/lib/site.ts Contact links shared by the hero, footer, and JSON-LD
src/styles/global.css Theme tokens, type scale, link and row styles
src/assets/ Images processed at build time (the hero portrait)
src/worker.ts Cloudflare Worker: Accept: text/markdown negotiation, cache and security headers
public/ Static files copied to the site root (robots.txt, site.webmanifest, CNAME, favicon.ico, images/)

Editing content

Deployment

  • Site: pushes to main (or a manual workflow_dispatch) run .github/workflows/pages.yml: npm ci, worker tests, type check, build, then deploy dist/ to GitHub Pages.
  • Worker: not deployed by CI. After changing src/worker.ts, run npm run worker:deploy (configured in wrangler.jsonc, route amanthanvi.com/*), then smoke-check: curl -sI -H 'Accept: text/markdown' https://amanthanvi.com/ should return text/markdown.

Accessibility, performance, and privacy

Semantic HTML, keyboard navigation, and theme and motion preferences are part of the design. The build ships no analytics, trackers, or cookies, and the only font is self-hosted Source Sans 3. Cloudflare can inject scripts at the edge (Web Analytics, Email Address Obfuscation); keep those zone features off so production matches the build.

Credits and contributing

Third-party licenses and font attribution are in CREDITS.md. Contributor workflow and tooling are in AGENTS.md. Product and design truth: PRODUCT.md, DESIGN.md.

About

Source for amanthanvi.com — Aman Thanvi's personal website.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages