Skip to main content

Documentation Index

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

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

Sys.Witch V2 ships with pre-compiled assets — the React components, Tailwind CSS utilities, and Framer Motion animations have already been bundled into the assets/ folder. There is no build step to run, no npm install to execute, and no Node.js version to manage. Download the files, start a local server, and every portfolio page is immediately browsable.

Prerequisites

You need nothing beyond a modern browser and one of the two retrieval methods below. A local file server is strongly recommended — some browsers block ES module imports when files are opened directly from the filesystem via file:// URLs, which can produce a blank page or missing styles.
VS Code Live Server and npx serve are both zero-configuration options. Either works. Pick whichever you already have available.

Getting Started

1

Download or clone the repository

Choose the method that suits your workflow.Option A — Download a ZIP (no Git required):
  1. Open https://github.com/apursley2012/sys.witch-v2 in your browser.
  2. Select the green Code button.
  3. Select Download ZIP.
  4. Extract the ZIP to a folder on your machine.
Option B — Clone with Git:
git clone https://github.com/apursley2012/sys.witch-v2.git
cd sys.witch-v2
2

Start a local development server

Open a terminal, navigate to the extracted or cloned folder, and run one of the following commands.Using npx serve (recommended — no install required):
npx serve .
npx serve will print a local address such as http://localhost:3000. Open that address in your browser.Using VS Code Live Server:
  1. Open the sys.witch-v2 folder in VS Code.
  2. Right-click index.html in the Explorer panel.
  3. Select Open with Live Server.
Your browser will open the homepage automatically.
If you open index.html directly (double-clicking the file) and the page appears blank, switch to npx serve or VS Code Live Server. The file:// protocol blocks the ES module imports the theme depends on.
3

Preview the portfolio pages

With the local server running, you can open each portfolio section directly by appending its path to the local URL:
PageLocal URL (example)
Homepagehttp://localhost:3000/index.html
Abouthttp://localhost:3000/pages/About.html
Projectshttp://localhost:3000/pages/Projects.html
Skillshttp://localhost:3000/pages/Skills.html
Writinghttp://localhost:3000/pages/Writing.html
Contacthttp://localhost:3000/pages/Contact.html
The PortalNav navigation bar renders on every page and links to all sections, so you can also navigate by clicking once the homepage loads.
4

Customize the content

Portfolio content lives in the data/ folder. Edit these files to replace the placeholder entries with your own work — no component code or stylesheet changes are needed.
# Open in your editor of choice
data/projects.js      # Featured projects (title, description, tags, links)
data/skills.js        # Skills and tools (name, category, mastery level)
data/writing.js       # Writing archive entries
data/caseStudies.js   # Detailed case study breakdowns
data/sigils.js        # SVG sigil definitions used by the icon system
Personal information (your name, headline, and biography) lives in index.html and pages/About.html. Open those files in any text editor and update the displayed strings directly.

File and Folder Structure

The repository is organized so that styles, scripts, components, and data stay cleanly separated:
sys.witch-v2/
├── .github/
│   └── ISSUE_TEMPLATE/
│       ├── bug_report.md
│       ├── custom.md
│       └── feature_request.md
├── assets/
│   ├── index.js
│   ├── index2.js
│   ├── jsx-runtime.js
│   ├── main.css          ← compiled Tailwind CSS stylesheet
│   ├── main.js           ← compiled React + Framer Motion bundle
│   └── proxy.js
├── components/
│   ├── about/
│   │   ├── TimelineEntry.js
│   │   └── TraitSigilGrid.js
│   ├── case/
│   │   └── RitualReport.js
│   ├── contact/
│   │   └── SummoningForm.js
│   ├── layout/
│   │   ├── Layout.js
│   │   ├── ParticleField.js   ← animated particle field background
│   │   ├── PortalNav.js       ← shared navigation bar
│   │   └── RuneDivider.js
│   ├── projects/
│   │   ├── ProjectPanel.js
│   │   └── SummoningCircle.js
│   ├── sigils/
│   │   ├── PortalRing.js
│   │   └── Sigil.js
│   ├── skills/
│   │   └── RuneTile.js
│   ├── ui/
│   │   ├── GlowFrame.js
│   │   └── GlyphButton.js
│   └── writing/
│       └── TomeCard.js
├── data/
│   ├── caseStudies.js
│   ├── projects.js
│   ├── sigils.js
│   ├── skills.js
│   └── writing.js
├── images/
│   └── screenshots/
├── pages/
│   ├── About.html
│   ├── CaseStudies.html
│   ├── Contact.html
│   ├── Projects.html
│   ├── Skills.html
│   └── Writing.html
├── .nojekyll              ← keeps GitHub Pages from processing files through Jekyll
└── index.html             ← homepage and GitHub Pages entry point

The .nojekyll File

The repository includes a file named .nojekyll at the root. It is intentionally empty — the filename alone is the instruction. It tells GitHub Pages to serve the files directly without running them through the Jekyll static-site processor. If this file is missing or renamed, GitHub Pages may fail to load the JavaScript bundles inside assets/. Keep it in place and leave it empty.
Do not rename .nojekyll to nojekyll, .nojekyll.txt, or nojekyll.md. Only the exact filename .nojekyll is recognized by GitHub Pages.

Build docs developers (and LLMs) love