Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/apursley2012/neon-retro-web/llms.txt

Use this file to discover all available pages before exploring further.

Because Neon Retro Web uses hash-based routing, every URL the app generates keeps the path entirely in the fragment (the # portion), which is never sent to the server. This means the static host only ever needs to serve individual HTML files — it never needs to resolve deep-link paths or apply rewrite / redirect rules. Any host that can serve a folder of HTML, CSS, and JS files will work perfectly out of the box. The entire repository root is the deployment artifact. The build output is already committed to the repository — simply point your hosting provider at the repo root and the site will be live. No build command, no special server configuration, no _redirects file, no rewrite rules.
This repository contains pre-built static output. You do not need to run npm run build before deploying. If you have made source-level customisations and need to rebuild, see the Building guide.

Hosting Providers

GitHub Pages can serve the repository root directly, making it the simplest zero-config option for Neon Retro Web.
1

Push your repository to GitHub

Make sure all files are committed and pushed to the main branch. The index.html, pages/, assets/, components/, and .nojekyll files must all be present at the repo root.
git add .
git commit -m "chore: deploy static site"
git push origin main
2

Open the Pages settings

Navigate to your repository on GitHub, then go to Settings → Pages in the left sidebar.
3

Configure the source

Under Build and deployment, set:
  • Source: Deploy from a branch
  • Branch: main
  • Folder: / (root)
Click Save.
4

Wait for deployment

GitHub Actions will run a brief Pages deployment job. Once complete (usually under two minutes), your site will be live at:
https://<username>.github.io/<repo-name>/
The .nojekyll file is already present in the repository root. This empty file tells GitHub Pages to skip Jekyll processing entirely — without it, GitHub Pages could ignore files with underscore-prefixed names and garble asset paths.
When the site is served from a subpath (e.g. https://username.github.io/neon-retro-web/), the hash-redirect script uses window.location.pathname, which already includes the subpath prefix. No additional base-path configuration is needed for the redirect to work correctly.

Custom Domains

When you point a custom domain at your deployed site, check any hardcoded URLs inside the built HTML and JS files — for example, social links, canonical meta tags, and Open Graph og:url values. If you need to update these, edit them in the original source project, rebuild, and redeploy. See the Building guide for the rebuild workflow.

Environment Variables

Neon Retro Web ships with no environment variables in its default configuration — the portfolio is fully static and makes no external API calls out of the box. If you extend the project by wiring up the Contact page to a service such as Formspree or EmailJS, you will need to handle API keys securely. This requires working with the original source project (which includes package.json and src/). Vite exposes environment variables to client-side code through the import.meta.env object, but only variables prefixed with VITE_ are included in the bundle. Create a .env file in the source project root:
# .env
VITE_FORMSPREE_ENDPOINT=https://formspree.io/f/your-form-id
Then reference it in your source code:
const endpoint = import.meta.env.VITE_FORMSPREE_ENDPOINT;
When deploying to a hosted provider, add the same key-value pairs through the provider’s environment variable UI rather than committing the file:
  • GitHub Pages: use repository secrets with an Actions workflow to inject variables at build time.
  • Netlify: go to Site configuration → Environment variables.
  • Vercel: go to Project settings → Environment Variables.
Never commit your .env file to the repository. It may contain secret API keys that would be publicly visible in your Git history. Add .env to your .gitignore file immediately:
echo ".env" >> .gitignore

Build docs developers (and LLMs) love