Aurora Drift is a deliberately lean project — noDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/apursley2012/aurora-drift/llms.txt
Use this file to discover all available pages before exploring further.
src/ directory, no deeply nested module tree. Every file either belongs to the compiled asset bundle, to the set of four shared UI components, to one of the ten page HTML shells, or to the static image gallery. Understanding this flat layout makes it straightforward to locate the file responsible for any visual behaviour you want to change.
Directory Tree
This repository is a compiled output — it does not include source files such as
vite.config.js or tailwind.config.js. The assets/ directory contains pre-built bundles. To modify build configuration or Tailwind tokens, you will need the original Vite project source.Top-Level Directories
index.html — App entry point
index.html — App entry point
The root HTML document that bootstraps the entire React application. It declares the
<div id="root"> mount point and uses <script type="module"> to load assets/main.js. It also includes <link rel="modulepreload"> hints for every component module so the browser pre-fetches them in parallel before they are needed, shaving render time on the first navigation.assets/ — Compiled bundle and runtime utilities
assets/ — Compiled bundle and runtime utilities
Contains the four files produced by (or supporting) the Vite build:
main.js— The compiled React application. It includes all page components, React Router configuration, and the full Framer MotionAnimatePresencewrapper in a single ES module bundle.main.css— The Tailwind CSS output. All utility classes used in the project — including customaurora-*color tokens for#2DD4BF,#22D3EE,#14B8A6,#EC4899, and thenavy#050814background — are compiled here as plain CSS.proxy.js— Re-exports React, React DOM’s JSX runtime, and Framer Motion’smotionobject under short internal aliases (r,j,l). Component files import from this proxy rather than directly fromnode_modules, keeping each component file small and ensuring a single shared instance of React across the app.use-spring.js— Exports two helpers from Framer Motion’s spring system:useMotionValue(aliasedu) anduseSpring(aliaseda). BothAuroraBackgroundandCursorGlowimport from this file to drive their physics-based motion values.
components/ — Shared UI components
components/ — Shared UI components
pages/ — Static page HTML shells
pages/ — Static page HTML shells
Each of the ten sub-pages ships as a standalone
.html file. These files are structurally identical to index.html — they mount the same React root and load the same asset bundle — but they each inject a small inline <script> block into <head> that sets window.__STATIC_PAGE_ROUTE__ to the page’s logical path (e.g. "/about") and sets the URL hash so that React Router’s hash-based routing can pick up the correct route on a hard reload or direct link. See Routing below for a full explanation.images/screenshots/ — Reference screenshots
images/screenshots/ — Reference screenshots
Holds 14 screenshot PNG and JPEG files showing the template’s pages at various viewport sizes. These are used in the README and in the project cards on the Projects page as placeholder images. Replace them with your own work samples when adapting the template.
Routing
Aurora Drift uses React Router DOM v6 in hash-based routing mode. URLs look likehttps://yoursite.com/#/about rather than https://yoursite.com/about. This matters because the project deploys as a collection of static HTML files — there is no server to rewrite arbitrary URL paths to index.html.
The multi-page setup works as follows:
- A visitor navigates directly to
pages/About.html. - The inline script at the top of that file sets
window.__STATIC_PAGE_ROUTE__ = "/about"and assignswindow.location.hash = "/about"if no hash is already present. The browser automatically prepends#, producing#/aboutin the address bar. - The React app bundle mounts, reads the hash, and React Router renders the
<About>component — matching the URL the visitor expected.
Because routing is hash-based, all internal links in the Nav and throughout page components use hash
href values (e.g. href="#/projects"). If you migrate to a host that supports URL rewriting (Vercel, Netlify edge redirects), you can switch to BrowserRouter and update all links accordingly.The proxy.js Pattern
assets/proxy.js re-exports React and Framer Motion under internal aliases. Each component imports:
AuroraBackground, CursorGlow, Nav, and PageTransition all share the same React instance — critical for hooks to work across module boundaries. Second, it keeps each component file compact enough to be served as a fast <link rel="modulepreload"> without pulling in duplicate copies of the framework.
Explore Further
Core Components
Detailed documentation for AuroraBackground, CursorGlow, Nav, and PageTransition.
Animation System
How Framer Motion spring values, motion variants, and AnimatePresence are wired together.
Pages Overview
What each of the ten pages renders and which components it composes.
Customization
Step-by-step guide to replacing placeholder content with your own work.