Telemetry deploys as a folder of static files — there is no web server that can mapDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/apursley2012/telemetry/llms.txt
Use this file to discover all available pages before exploring further.
/about to the right HTML file. Hash-based routing solves this elegantly: every URL uses the # fragment (/#/about instead of /about), so every deep link points at the same index.html and the browser never makes a new document request. React Router reads the fragment and renders the correct page component entirely in JavaScript.
In development the URL looks like
http://localhost:5173/#/about. In production it looks identical — the hash prefix is always present. Sharing or bookmarking any page URL works without any server configuration.Router setup
The router is created byNd() — a hash history factory that reads window.location.hash.substr(1) as the pathname. This factory is wrapped by the Xp component (exported as H from Navigation.js and aliased as Le in main.js). The top-level Ss component wires everything together:
Navigation links
TheVp array in Navigation.js drives every nav link. Each entry is consumed by a NavLink from react-router-dom v6.30.4:
| Path | Label | ID |
|---|---|---|
/ | HOME | home |
/about | ABOUT | about |
/projects | PROJECTS | projects |
/skills | SKILLS | skills |
/writing | WRITING | writing |
/case-studies | CASE STUDIES | case-studies |
/contact | CONTACT | contact |
NavLink active state
Each entry inVp is rendered with NavLink, which receives an isActive boolean from React Router. When isActive is true, a Framer Motion motion.div with layoutId="nav-pill" is rendered behind the link text. Because all pills share the same layoutId, Framer Motion automatically animates the pill sliding from the old active link to the new one as you navigate:
Static page shells
Each file underpages/ exists so that a user who navigates directly to a path like /pages/About.html is immediately redirected to the correct hash URL. Every shell follows the same pattern: set window.__STATIC_PAGE_ROUTE__ for introspection, then check whether the hash is already correct and redirect if not.
pages/About.html
<div id="root"> and the same assets/main.js script tag appear in every shell, so once the redirect fires, the full React app boots and renders the correct route.
Adding a new route
Create the page component
Write your new page as a React component in your source. It will be rendered inside the
<Outlet> in the layout component, so it receives the aurora background, navigation, and page-transition animation for free.Register the route in main.js
Add a
<Route> entry inside the root route in assets/main.js, pointing path at your new slug and element at your component:Add the nav link to the Vp array
Open
components/Navigation.js and append an entry to the Vp array so the link appears in the header: