Skip to main content

Documentation Index

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

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

DevHaunt ships as a fully pre-built static site — the assets/ and components/ directories contain compiled Vite output ready to serve directly. There is no package.json or source-level build step to run. Getting it running locally takes one clone and one static-server command.

Prerequisites

All you need is:
  • Git — to clone the repository.
  • A way to serve static HTML files. Any of the following work:
    • npx serve (Node.js, no install required)
    • Python’s built-in HTTP server
    • VS Code’s Live Server extension
    • Any other static file host or CDN

Setup steps

1

Clone the repository

Clone DevHaunt from GitHub and change into the project directory:
git clone https://github.com/apursley2012/dev-haunt.git && cd dev-haunt
2

Serve the static files

Start a local static file server from the repository root. Choose whichever method suits you:
npx serve .
Then open the server’s local URL in your browser (e.g., http://localhost:3000 for npx serve, or http://localhost:8080 for Python). You should see the DevHaunt landing page — “The Porch” — with the fog layer drifting and the custom cursor trail active.
Do not open index.html directly as a file:// URL. Browser security restrictions block ES module imports over the file:// protocol, so the app will not load. Always use a local HTTP server.
3

Explore the nine pages

Navigate between the Halloween-themed pages using the top navigation bar. Each page is served from a static HTML file in the pages/ directory and bootstraps the correct hash route before handing off to the React SPA:
Page fileRouteLabel
index.html/#/The Porch
pages/About.html/#/aboutTrick or Treat
pages/Projects.html/#/projectsGraveyard
pages/Skills.html/#/skillsPumpkin Patch
pages/Work.html/#/workHall of Doors
pages/CaseStudies.html/#/case-studiesEvidence
pages/Blog.html/#/blogTales
pages/Testimonials.html/#/testimonialsSpirits Speak
pages/Contact.html/#/contactRing Doorbell

Project structure

The repository contains the compiled Vite output, not raw source files:
dev-haunt/
├── assets/           # Compiled JS bundles (main.js, main.css, jsx-runtime.js, …)
├── components/       # Pre-built React component modules (Navigation.js, Layout.js, …)
├── pages/            # Static HTML entry points — one file per route
└── index.html        # Root HTML entry point — mounts React into <div id="root">
The assets/ and components/ directories contain compiled Vite output. There is no package.json, no node_modules, and no build step in this repository — it is a pre-built dist artifact. The original Vite source project is not included.

Personalizing your content

All portfolio content — projects, skills, work history, blog articles, and testimonials — is defined as plain JavaScript arrays inside assets/main.js (the primary compiled bundle). To make the template your own, open assets/main.js in a text editor and find these arrays near the end of the file:
Array variableWhat it controls
MProject cards in the Graveyard (/projects)
RSkill pumpkins in the Pumpkin Patch (/skills)
CDoor panels in the Hall of Doors (/work)
FPostcards in the Tales section (/blog)
_Floating ghost testimonials (/testimonials)
Edit the string values inside each array entry, save the file, and reload the page in your browser.
assets/main.js is a minified bundle. Variable names are single letters and whitespace is stripped. Use your editor’s search function to locate the array by a known string value (for example, search for "Specter UI" to find the projects array M). Make surgical edits to string values only — do not reformat or restructure the file.
DevHaunt replaces the browser’s default cursor globally with cursor: none in assets/main.css, then renders the CursorTrail component in its place. If you want to restore the system cursor (for example, for accessibility reasons), remove the cursor:none rule from the body selector in assets/main.css and delete the <CursorTrail /> line from components/Layout.js.

Build docs developers (and LLMs) love