mirror of
https://github.com/AmruthPillai/Reactive-Resume.git
synced 2026-10-03 18:23:47 +10:00
"Everything you've done, on one page." A single resume page is assembled, written, restyled, checked, tailored and shared as the visitor scrolls, followed by live community numbers, languages, a support receipt, a closing call to action and the footer. It replaces the previous homepage and its playgrounds. Motion: a small scroll engine (features/homepage/scroll.ts) writes each section's progress as --p on every animation frame, and the scenes derive their motion from it with CSS calc(). React only re-renders on coarse steps held in a zustand store. Reduced motion collapses every pinned scene to one screen at its end state and stops all ambient motion. Server-rendered copy: the web build now prerenders the homepage once per locale (Vite app builder, features/homepage/prerender.tsx) into apps/web/dist-prerender, which the server sends for "/" by `?locale=`, then the saved locale cookie. main.tsx waits for the route to load before React replaces the prerendered page, so it never flashes a loading screen. dist-prerender is added to turbo outputs, the Docker image and the Vercel function files. SEO: localized title and description, a canonical per locale, hreflang alternates for every locale over `/?locale=` addresses (the app now reads that parameter), and SoftwareApplication JSON-LD. The FAQ structured data is dropped because the page shows no FAQ. Also: self-hosted Anybody and Martian Mono (landing only) and Newsreader italic, graphite doodles as WebP, new Material Symbols in the icon subset, the pull-cord theme switch on the app's theme cookie, and new catalog strings extracted for translation.
34 lines
741 B
JSON
34 lines
741 B
JSON
{
|
|
"$schema": "https://openapi.vercel.sh/vercel.json",
|
|
"framework": null,
|
|
"buildCommand": "pnpm build && node apps/server/dist/prepare-deployment.mjs",
|
|
"outputDirectory": "apps/web/dist",
|
|
"functions": {
|
|
"api/index.mjs": {
|
|
"maxDuration": 300,
|
|
"includeFiles": "{apps/web/dist/index.html,apps/web/dist-prerender/**,apps/server/dist/**,node_modules/.pnpm/pdfkit@*/node_modules/pdfkit/js/{standard-fonts,data}/**}"
|
|
}
|
|
},
|
|
"routes": [
|
|
{
|
|
"src": "/",
|
|
"dest": "/api/index"
|
|
},
|
|
{
|
|
"src": "/index.html",
|
|
"dest": "/api/index"
|
|
},
|
|
{
|
|
"src": "/(robots\\.txt|sitemap\\.xml|llms\\.txt|schema\\.json)",
|
|
"dest": "/api/index"
|
|
},
|
|
{
|
|
"handle": "filesystem"
|
|
},
|
|
{
|
|
"src": "/(.*)",
|
|
"dest": "/api/index"
|
|
}
|
|
]
|
|
}
|