Skip to main content

Documentation Index

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

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

The Home page is the first impression of the Full Moon portfolio — a dark, atmospheric landing experience built entirely with React, Framer Motion, and Tailwind CSS. Visitors arrive to an immersive scene dominated by a softly glowing moon, a dramatic developer title, and a single call-to-action that invites them to “Cross the Threshold” into the rest of the portfolio.

Route & Static Shell

The Home page is served from the root index.html file. Unlike the other page shells, index.html does not set window.__STATIC_PAGE_ROUTE__ — the React app defaults to the / (home) route when that global is absent. It loads assets/main.js as the app entry point and includes <link rel="modulepreload"> hints for all component chunks.
All other pages in this portfolio (under pages/) do set window.__STATIC_PAGE_ROUTE__ and update window.location.hash via an inline script before React mounts. The root index.html is the only shell that skips this step and relies on the React app’s default route.

Visual Design

The page uses a midnight-base (#0a0e1a) background — a near-black deep navy — with all accent elements rendered in the witch-teal palette. The layout is vertically centered and occupies the full viewport height.

The Moon SVG

A custom MoonSVG component renders a full-moon shape at 600 × 600 px. It is decorative rather than interactive, sitting behind the headline content at reduced opacity.
PropertyValue
ComponentMoonSVG (full mode)
Dimensions600 × 600 px
Opacity20% (opacity-20)
Colorwitch-teal-dark (#0e3a3a)
AnimationRises from y: 100y: 0 on mount
Z-indexBehind all text content
The moon’s entrance animation is driven by Framer Motion. It begins 100 px below its resting position and eases upward as the page loads, giving the impression of the moon cresting the horizon.

Entrance Animation Sequence

All visible elements animate in sequentially using Framer Motion’s initial / animate / transition props with staggered delays.
1

Moon Rises

The MoonSVG begins at y: 100, opacity: 0 and transitions to y: 0, opacity: 0.2 over approximately 1.2 seconds using an ease-out curve. It renders behind the text layer.
2

Heading Appears Letter by Letter

The heading "The Developer" is split into individual characters. Each letter animates in from opacity: 0, y: 20 to opacity: 1, y: 0 with a small staggered delay between each character, producing a typewriter-like reveal effect.
3

Tagline Fades In

The tagline "I cast \useEffect()` under the full moon.”fades in as a single block after the heading animation completes. The inline code element ``useEffect()`` is styled distinctly using thewitch-teal-bright` color.
4

CTA Button Appears

The "Cross the Threshold" button fades up into view last, after a delay that lets the heading and tagline settle. It uses the witch-teal-glow border and text color, with a hover glow effect.

UI Text

ElementText
Page heading"The Developer"
Tagline"I cast \useEffect()` under the full moon.”`
CTA button (idle)"Cross the Threshold"
CTA button (loading)"Casting..."

CTA Button Behavior

The "Cross the Threshold" button is the primary call-to-action on the page. Clicking it triggers a short transition state before navigating to the /about route.
StateLabelBehavior
Idle"Cross the Threshold"Awaiting user interaction
Loading"Casting..."Brief animation plays; routing to /about in progress
CompleteHash updates to #/about; About page renders
The loading state ("Casting...") is intentionally brief — it gives the navigation a ritualistic, weighted feel rather than an instant jump, reinforcing the witch-fantasy aesthetic.

Typography

All heading text uses the font-heading class, which maps to Cinzel Decorative — a high-contrast serif with a gothic, inscribed feel. Body and tagline text uses font-body, mapped to Cormorant Garamond, an elegant old-style serif that reinforces the arcane atmosphere.

Color Reference

TokenHexUsage
midnight-base#0a0e1aPage background
witch-teal-dark#0e3a3aMoon SVG fill
witch-teal-glow#2dd4bfCTA border and text
witch-teal-bright#5eead4Inline code highlight in tagline

Build docs developers (and LLMs) love