Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/apursley2012/digital-domain/llms.txt

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

Digital Domain compiles to a completely static site — no server, no database, no runtime dependencies. Once built, every file the browser needs is plain HTML, JavaScript, and CSS that any static file host can serve. The repository already commits the built output to its root directory, so you can point a host directly at the repo and have a live site without running a build step yourself. This page explains what gets deployed, when you do need to build, and how the major hosting platforms compare.
The committed repository is pre-built output only. There is no package.json, vite.config.js, tailwind.config.js, or src/ directory in the repo. If you want to modify and rebuild the project, you must set up a local Vite + Tailwind development environment from scratch. See the Tailwind Config page for the example configuration.

What Gets Deployed

The repo root contains a complete, self-contained static site output. The key files and directories are:
PathDescription
index.htmlVite entry point — the single HTML shell for the entire SPA
assets/main.jsCompiled and bundled React application
assets/main.cssCompiled Tailwind CSS with all custom tokens and body styles
assets/proxy.jsPreloaded JS module (hit counter proxy)
components/Layout.jsPreloaded JS module — layout shell component
components/Window.jsPreloaded JS module — Win98 window frame component
components/Marquee.jsPreloaded JS module — scrolling marquee component
components/BeveledButton.jsPreloaded JS module — Win98 beveled button component
components/HitCounter.jsPreloaded JS module — retro hit counter component
pages/About.htmlStatic HTML fragment for the About page
pages/Blog.htmlStatic HTML fragment for the Blog listing page
pages/BlogPost.htmlStatic HTML fragment for individual blog posts
pages/CaseStudies.htmlStatic HTML fragment for the Case Studies listing
pages/CaseStudyDetail.htmlStatic HTML fragment for individual case studies
pages/Contact.htmlStatic HTML fragment for the Contact page
pages/Projects.htmlStatic HTML fragment for the Projects page
pages/Skills.htmlStatic HTML fragment for the Skills page
pages/Testimonials.htmlStatic HTML fragment for the Testimonials page
pages/Work.htmlStatic HTML fragment for the Work page
.nojekyllEmpty file that disables GitHub Pages’ Jekyll processing
README.mdRepository readme
No build step is required to deploy what is already committed. A host configured to serve the repo root as a static directory will deliver a fully functional site immediately.

Build Steps (For Customized Versions)

If you want to modify the project — React components, Tailwind config, CSS, or Vite config — you must set up a local development environment from scratch first, since no package.json or source files are committed to the repo.
1

Scaffold a new Vite + React project

Create a new Vite project with the React template and install Tailwind CSS:
npm create vite@latest digital-domain -- --template react
cd digital-domain
npm install
npm install -D tailwindcss postcss autoprefixer
npx tailwindcss init -p
2

Copy in the source files

Add the Tailwind configuration tokens (see the Tailwind Config page for the example config), copy the component and page source files into src/, and add the Google Fonts @import at the top of your CSS entry point.
3

Build

Once your source is set up and changes are made, run the build command:
npm run build
Built output lands in dist/. Deploy the contents of dist/ to your host rather than the repo root.

Hosting Platform Comparison

GitHub Pages

Free hosting for public repositories, built directly into GitHub. Serves the repo root or a docs/ folder from any branch. Requires a .nojekyll file to prevent Jekyll from interfering with asset paths — this file is already present in the repo. Ideal for portfolios since the URL becomes https://username.github.io/digital-domain/.

Netlify

Free tier with drag-and-drop deploys — just drop the repo folder onto the Netlify dashboard and the site is live in seconds. Supports automatic SPA routing out of the box via a _redirects file. Continuous deployment from GitHub is available with zero configuration.

Vercel

Free tier with a first-class CLI experience. Run vercel from the project root and the site is deployed. Rewrites for SPA routing are configured via vercel.json. Automatic preview deployments are created for every pull request.

Cloudflare Pages

Free tier with a globally distributed CDN and generous bandwidth limits. Connect the GitHub repo and configure the output directory (the repo root, since no build step is needed). Supports SPA routing via _routes.json or a catch-all _redirects file identical to Netlify’s format.

SPA Routing Caveat

Digital Domain uses React Router’s BrowserRouter, which means routes like /blog and /skills are handled entirely in JavaScript — they are not real filesystem paths. When a visitor loads https://example.com/blog directly (or refreshes the page), the host tries to find a file at /blog and returns a 404 because that file does not exist. Every host needs a configuration to return index.html for all unmatched routes:
HostSolution
GitHub PagesAdd a 404.html that redirects back to index.html using sessionStorage (see the GitHub Pages guide), or switch React Router to HashRouter
NetlifyAdd a _redirects file to the deploy root with the rule /* /index.html 200
VercelAdd a vercel.json to the project root with { "rewrites": [{ "source": "/(.*)", "destination": "/index.html" }] }
Cloudflare PagesUse a _redirects file (/* /index.html 200) or configure a _routes.json with a catch-all include
The .nojekyll file at the repo root is an empty file that serves a specific purpose on GitHub Pages: it prevents GitHub’s Jekyll static site processor from running during deployment. Without it, Jekyll would silently ignore any file or directory whose name begins with an underscore — which would break _redirects, custom _routes.json, and any other underscore-prefixed assets you add. The file has no effect on any other hosting platform.

Build docs developers (and LLMs) love