Aurora Borealis compiles to a fully static bundle — HTML files, a JavaScript bundle, a CSS file, and component modules — with no server-side rendering and no backend. This makes it deployable to any static hosting service with zero server configuration. Hash-based routing further simplifies things: the host never needs to inspect or rewrite URLs.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/apursley2012/aurora-borealis/llms.txt
Use this file to discover all available pages before exploring further.
The repository already contains a pre-built production bundle. No build step is required for vanilla deployment. Simply upload the repository files to your static host and the site is live. You only need to run
vite build if you have modified the source project and need to regenerate the bundle.What gets deployed
The repository root contains everything the site needs — there is no separatedist/ output directory to generate before deploying:
Hash routing on static hosts
Aurora Borealis uses hash-based routing (
/#/about, /#/projects, etc.) rather than history-mode routing. This means the server always receives a request for the base HTML file — the hash portion (#/about) is processed entirely in the browser by React Router. No 404 redirect rules or _redirects files are required on any host./about as a real URL), every host needs to be configured to serve index.html for unknown paths, otherwise a direct visit to /about returns a 404. Hash routing sidesteps this entirely: /about is never sent to the server. This is why the per-page HTML files in pages/ each contain a small inline script that immediately redirects to the hash equivalent — the server only ever serves the HTML file, and the browser navigates from there.
Static hosting options
- GitHub Pages
- Netlify
- Vercel
- Cloudflare Pages
GitHub Pages serves static files directly from a repository branch or a If you have modified the source project and need to rebuild, add
docs/ folder. Aurora Borealis already ships a .nojekyll file at the project root, which prevents GitHub’s Jekyll processor from interfering with the Vite output.Deploying the pre-built bundleBecause the repository already contains a pre-built static bundle, you can deploy directly from the repo without a build step. Push the repository to GitHub and configure Pages to serve from the main branch root (or copy the files to the gh-pages branch).Automatic deployment with GitHub Actionsnpm ci and vite build steps before the deploy step, and set publish_dir: ./dist to point at the build output.Hash routing works out of the box — no 404.html redirect hack is needed because the per-page HTML files in pages/ handle direct visits themselves.Custom domain
All four hosts above support custom domains through their dashboard or DNS settings. The general process:- Add your domain in the hosting provider’s dashboard.
- Create a
CNAMEDNS record pointing your domain (e.g.portfolio.yourdomain.com) to the host-provided URL (e.g.youruser.github.iooryour-site.netlify.app). - For apex domains (e.g.
yourdomain.comwithout a subdomain), use anALIASorANAMErecord, or follow your host’s specific apex domain instructions.
Environment variables
The base portfolio requires no environment variables. All content, colors, and animation parameters are hardcoded in the source files. If you extend the project — for example, by adding a working contact form that posts to a backend API — store the endpoint URL as an environment variable so it is not hardcoded in source:VITE_ to the client bundle via import.meta.env: