Systems Witch ships with seven routes out of the box (Documentation Index
Fetch the complete documentation index at: https://mintlify.com/apursley2012/systems-witch/llms.txt
Use this file to discover all available pages before exploring further.
/, /about, /projects, /skills, /testimonials, /articles, /contact), but the React Router + hash-based routing architecture makes extending it with new pages straightforward. Each new route needs a page component, a route registration, and — if you want direct deep-link access — a corresponding HTML shell file. Follow the steps below to add a new page end-to-end.
Create the page component
Add a new React component to your source file. All existing page components follow the same structural pattern: a The
PageTransition wrapper (for Framer Motion enter/exit animations), a page <header> with a SectionSigil icon and a GlitchHeading title, and a <div> containing the page body.~/route path convention in text="~/gallery" is purely cosmetic — it matches the filesystem-browser aesthetic used across all existing page titles.Register the route
Open The full router structure after adding the new route will look like:
assets/main.js in your source project and find the <Route path="/"> parent element inside the App component. Add a new <Route> entry as a child, alongside the existing routes:Create the HTML shell
Copy an existing shell file — This script fires before React mounts and ensures that anyone landing directly on
pages/About.html is a good template — and save it as pages/Gallery.html. Update two values inside it:- The
<title>tag: changeAbout | systems-witchtoGallery | systems-witch. - The
window.__STATIC_PAGE_ROUTE__value and the hash redirect target: change/aboutto/gallery.
<script> block should read:pages/Gallery.html
yoursite.com/pages/Gallery.html is immediately redirected to the correct hash route (#/gallery) so React Router picks up the right page.Also update the asset paths in the shell’s <head>: pages/About.html references ../assets/main.js (one directory up), so pages/Gallery.html should use the same relative paths.Add to FilesystemNav
The Place it in whatever position in the list makes sense for your information architecture. After rebuilding, the new link will appear in the sidebar on all pages.
FilesystemNav component renders the left-hand sidebar navigation. Open your source file and find the FilesystemNav component — it contains a list of navigation links styled as filesystem paths. Add your new route to the list, following the ~/route naming convention used by the existing entries:The
pages/*.html shell files are only required if you want direct deep-link access — for example, if a user navigates straight to yoursite.com/pages/Gallery.html or if your hosting platform serves sub-paths directly. If all users enter the site through index.html (the root) and navigate from there, the HTML shell is entirely optional.