Aurora Cosmos is designed to be deployed as a fully static site — no Node.js server, no edge functions, just a folder of HTML, CSS, and JavaScript files. To make deep-linking and direct URL access work on hosts like GitHub Pages, Netlify (without aDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/apursley2012/aurora-cosmos/llms.txt
Use this file to discover all available pages before exploring further.
_redirects file), or any plain static file host, the template uses hash-based routing: every route lives after a # in the URL, which the browser never sends to the server. This means any URL like https://yoursite.com/portfolio/#/projects resolves to the same index.html that the server already knows how to serve.
Route Table
The application declares seven routes, each with a corresponding static HTML entry point in the/pages/ directory.
| Hash path | Page | Static HTML file |
|---|---|---|
#/ | Home | index.html (root) |
#/about | About | pages/About.html |
#/projects | Projects | pages/Projects.html |
#/skills | Skills | pages/Skills.html |
#/writing | Writing | pages/Writing.html |
#/case-studies | Case Studies | pages/CaseStudies.html |
#/contact | Contact | pages/Contact.html |
ua) in components/Navigation.js mirrors these paths exactly:
How the Redirect Script Works
Each HTML file in/pages/ contains an inline <script> that runs before React mounts. It does two things:
- Sets
window.__STATIC_PAGE_ROUTE__— tells the React app which hash route this page corresponds to, so the router can initialise at the right path. - Redirects missing hashes — if a visitor lands on the page without a hash (e.g. a direct link to
pages/About.html), the script appends the correct hash and replaces the history entry so the browser never shows a hash-less URL.
pages/About.html:
index.html uses "/" as the route and redirects to #/:
Adding a New Route
Add the route to the router config in main.js
The router is defined in the compiled
assets/main.js. Because Aurora Cosmos is a pre-built static site, you will need to rebuild from your own source to add a <Route> element. Add it to the router config with a path that matches exactly what you will put in the navigation array and the static HTML file.Create a new page component
Aurora Cosmos is a pre-built static site — there is no
src/ directory in the repository. To add a page component, add the compiled output directly to the project. If you are working from your own source, create the file (e.g. pages/Gallery.jsx) and rebuild. At minimum the component should include the <AuroraBackground /> and <Starfield /> wrappers so the visual style is consistent with the rest of the template.Add the entry to the navigation array in Navigation.js
Import a Lucide icon and push a new object into the
ua array so the nav sidebar renders the link automatically.