Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/apursley2012/dyed-in-the-wool/llms.txt

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

Overview

Dyed in the Wool is a fully static single-page application — all content is baked into the JavaScript bundle at build time. There is no backend, no API calls, and no server-side rendering. The entire site is a collection of static files that can be hosted anywhere a CDN or static file host is available.

Development Server

Start the Vite dev server for local development with hot module replacement (HMR):
npm run dev
Vite starts at http://localhost:5173 by default. Changes to source files are reflected instantly in the browser without a full reload.

Production Build

Compile, bundle, and minify the app for production:
npm run build
npm run build outputs optimized, minified JS and CSS into the dist/ directory. To verify the bundle before deploying, run:
npm run preview
npm run preview spins up a local server pointing at dist/ so you can confirm the production build behaves as expected.

GitHub Pages Deployment

GitHub Pages is the pre-configured deployment target for this project. The app uses HashRouter so all routing works from a single index.html without any server-side configuration.
1

Build the project

Run npm run build to generate the production bundle in dist/.
2

Copy static pages

Copy pages/*.html and .nojekyll into dist/ so GitHub Pages can serve each route directly. Configure your CI pipeline (e.g. a GitHub Actions workflow) to do this automatically on every push.
3

Push dist to gh-pages

Deploy the contents of dist/ to the gh-pages branch using the gh-pages package:
npx gh-pages -d dist
4

Enable GitHub Pages

In your repository on GitHub, go to Settings → Pages and set the source to the gh-pages branch, root /. GitHub will publish the site at https://username.github.io/dyed-in-the-wool/.
The repo ships with the production build output (assets/main.js, assets/main.css, assets/proxy.js, all page HTML files) already committed to main. This means you can point GitHub Pages directly at the main branch root for a zero-build deployment — no CI pipeline required.

Netlify and Vercel

Both platforms work out of the box since all routing is hash-based and requires no server rewrites. Option A — drag and drop: Run npm run build locally, then drag the dist/ folder into the Netlify or Vercel dashboard. Option B — connect repo: Link the repository and set the following in the platform’s build settings:
SettingValue
Build commandnpm run build
Publish / output directorydist
No redirect rules or _redirects files are needed.
If you deploy to a subdirectory — for example username.github.io/dyed-in-the-wool/ — you must set the Vite base path to match. Add base: '/dyed-in-the-wool/' to vite.config.js:
// vite.config.js
export default {
  base: '/dyed-in-the-wool/',
}
You will also need to update the relative asset paths (src="../assets/main.js", href="../assets/main.css") inside each file in pages/*.html to reflect the new base path. See Static Pages for details on those files.

Build docs developers (and LLMs) love