Retro Webpage is designed to go from zero to running local dev server in a single terminal session. This guide walks you through cloning the repository, installing dependencies, starting the Vite dev server, and understanding how the project is structured so you can start customising your portfolio straight away.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/apursley2012/retro-webpage/llms.txt
Use this file to discover all available pages before exploring further.
Prerequisites
Before you begin, make sure you have the following installed:- Node.js 18 or later — nodejs.org
- A package manager — npm (bundled with Node), yarn, or pnpm
Installation
Start the development server
Start the Vite dev server with hot module replacement:Vite will print a local URL in the terminal. Open http://localhost:5173 in your browser to see the retro homepage.
Build for production
Compile and bundle the app into the The build output lands in
dist/ output directory:dist/ and is ready to deploy to any static host (Netlify, Vercel, GitHub Pages, etc.).Project Structure
The repository layout separates the bundled runtime (assets/, components/) from the per-route HTML entry points (pages/):
How the SPA Routing Works
Retro Webpage is a single-page application. The HTML files underpages/ are static entry points — each one simply loads assets/main.js and sets a window.__STATIC_PAGE_ROUTE__ variable that tells the app which hash route to activate on first load. For example, pages/About.html contains:
main.js boots, React Router v6 takes over all navigation entirely client-side. Clicking a tab in the Layout header triggers a React Router <Link> — no full page reload ever happens. The HTML shells exist only to give static hosts a file to serve for direct URL access.
The files in
components/*.js are pre-built bundles produced by Vite. You can import and use them as normal React components without any extra build step. However, if you want to change a component’s markup, styles, or behaviour, you must edit the original JSX source files and run npm run build to regenerate the bundles. Editing the .js files in components/ directly will work for the current session but your changes will be overwritten on the next build.