Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/apursley2012/oracle/llms.txt

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

Oracle is a single-page application (SPA) compiled from a React 18 codebase and deployed as a fully static bundle on GitHub Pages. The production output — HTML, CSS, and JavaScript — lives directly in the repository root, meaning no server-side runtime or build pipeline is needed to serve the site. Client-side routing is handled by React Router v6’s HashRouter, animations are driven by Framer Motion, and the visual design is powered by Tailwind CSS with a custom mystical color palette.

Tech Stack

ToolVersion / NotesPurpose
React18.xUI framework — component rendering and state
ViteBundlerBuild tool, dev server, and code splitting via modulepreload
React Router v6react-router-dom 6.30.4Client-side routing using HashRouter (/#/path)
Framer Motionframer-motionPage transitions and element animations
Tailwind CSStailwindcssUtility-first styling with custom design tokens

File Structure

oracle/
├── index.html              # Entry HTML — loads main.js via modulepreload
├── assets/
│   ├── main.js             # Bundled React app (Vite build output)
│   ├── proxy.js            # React / ReactDOM / Framer Motion re-exports
│   └── main.css            # Tailwind CSS output
├── components/
│   ├── Navigation.js       # Sidebar nav with animated rail indicator
│   ├── Layout.js           # AnimatePresence page wrapper
│   └── CustomCursor.js     # Spring-animated custom cursor
├── pages/
│   ├── About.html          # Static shell — sets window.__STATIC_PAGE_ROUTE__
│   ├── Articles.html
│   ├── CaseStudies.html
│   ├── Contact.html
│   ├── Projects.html
│   ├── Skills.html
│   ├── Testimonials.html
│   └── Work.html
├── .nojekyll               # Prevents GitHub Pages Jekyll processing
└── README.md

Custom Tailwind Tokens

Oracle’s Tailwind configuration defines a set of named color tokens that match the mystical portfolio theme. Use these token names in utility classes (e.g. bg-dark, text-turquoise).
TokenHex ValueUsage
turquoise#1de9b6Primary accent — links, highlights, active states
dark#051618Deep background base
midnight#0a2a2eSecondary background, card surfaces
parchment#fdf6e3Body text, light-on-dark contrast
gold#e8c468Decorative highlights, headings

Deployment

Oracle is deployed as a static site on GitHub Pages. The Vite build outputs all assets (JavaScript bundles, CSS, and HTML) directly to the repository root. GitHub Pages serves these files as-is from the main branch. A .nojekyll file is present in the root to disable GitHub Pages’ default Jekyll processing. Without it, Jekyll would ignore files and directories that begin with an underscore (_) and could interfere with Vite’s asset output. All navigation routes are handled client-side by React Router’s HashRouter, so every URL uses the /#/path format — for example, /#/about or /#/projects. This means GitHub Pages only ever needs to serve a single index.html file; the hash fragment is interpreted entirely in the browser.
The production build is pre-compiled and committed to the repository. You do not need to run a build step (npm run build) to view or deploy the site — simply serve the repository root with any static file server and the app will work immediately.

Build docs developers (and LLMs) love