Skip to main content

Documentation Index

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

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

Digital Alchemy is a purely static site — there is no server, no database, and no runtime. The entire application is compiled by Vite into a dist/ directory of HTML, CSS, and JavaScript files that can be served from any static hosting provider. GitHub Pages is the deployment target.

Build steps

1

Run the production build

Vite compiles and bundles the entire application:
npm run build
Output is written to dist/. The key files produced are:
  • dist/index.html — the application entry point
  • dist/assets/main.js — the bundled React application
  • dist/assets/main.css — all styles (Tailwind + custom)
  • dist/components/*.js — lazy-chunked component files
2

Copy static HTML pages into dist/

The pages/ directory contains pre-generated HTML files for each route (e.g. pages/About.html). These need to be copied into dist/pages/ so that direct URL navigation works on GitHub Pages:
cp -r pages/ dist/pages/
Each static page sets window.location.hash to its route on load, bootstrapping the HashRouter to the correct view. See Static Pages for the full explanation.
3

Verify the .nojekyll file is present

A .nojekyll file already exists in the repository root. Confirm it will be included in the deployment:
ls -la .nojekyll
GitHub Pages runs a Jekyll processor by default that ignores files and directories beginning with an underscore (_). Since Vite outputs assets to _assets/ in some configurations, .nojekyll tells GitHub Pages to skip Jekyll entirely and serve the files as-is.
4

Deploy to GitHub Pages

Push the built dist/ contents to the gh-pages branch (or configure GitHub Pages to deploy from the main branch root, depending on your repository settings):
# Using gh-pages npm package
npx gh-pages -d dist

# Or manually push the dist/ contents to the gh-pages branch
git subtree push --prefix dist origin gh-pages

Local preview

Before deploying, preview the production build locally to verify everything works as expected:
npm run preview
Vite starts a local static server serving the dist/ directory, usually at http://localhost:4173. Test direct URL navigation by visiting http://localhost:4173/pages/About.html to confirm the static page bootstrapping works.

Environment variables

No environment variables are needed. Digital Alchemy is fully static — there is no API key, backend URL, or build-time secret required. The site builds and runs identically in development and production without any .env file.

Repository structure relevant to deployment

digital-alchemy/
├── dist/               ← Vite build output (gitignored)
├── pages/              ← Static HTML pages for direct URL navigation
│   ├── About.html
│   ├── Projects.html
│   └── ...
├── .nojekyll           ← Disables Jekyll on GitHub Pages
├── index.html          ← Vite entry point (root of the SPA)
├── assets/
│   └── main.js         ← Route definitions and app bootstrap
└── components/
    └── Layout.js       ← Site shell component

The .nojekyll file is already committed to the repository root. You do not need to create it — just ensure it is present in whatever branch GitHub Pages is configured to deploy from. If you use gh-pages -d dist, copy .nojekyll into dist/ before publishing:
touch dist/.nojekyll
For the full explanation of how the static HTML pages in pages/ enable direct URL navigation, see Static Pages.

Build docs developers (and LLMs) love