The Home page (Documentation Index
Fetch the complete documentation index at: https://mintlify.com/apursley2012/neon-retro-web/llms.txt
Use this file to discover all available pages before exploring further.
/) is the first thing visitors see and sets the tone for the entire portfolio. A scrolling magenta marquee ticker spans the full width at the top, a giant HELLO_WORLD headline glows with a magenta drop-shadow, and a responsive grid of retro OS windows below summarises every major section — about, projects, skills, blog, and a playful “coffee break” widget. All motion is handled by Framer Motion’s AnimatePresence/motion.div system so the page fades and slides in as a single animated unit.
Page Structure
The root component (tm) mounts as a motion.div with a vertical slide-in animation and renders two primary zones:
- Hero — full-width heading, tagline, and accent marquee.
- Dashboard grid — five
Windowcards laid out in a CSS Grid (grid-cols-1 md:grid-cols-2 lg:grid-cols-3).
Key UI Elements
Marquee Ticker
The
Marquee component (exported as M from RetroElements.js) renders a magenta full-width bar with the text +++ WELCOME TO MY CORNER OF THE WEB +++ CURRENTLY DEBUGGING REALITY +++ BEST VIEWED IN ANY BROWSER, YOU SURVIVOR +++ scrolling on a CSS animate-marquee keyframe. The global layout wraps every page with this ticker.HELLO_WORLD Hero
A
text-glow-magenta CSS shadow utility class creates the neon glow effect on the oversized display font. The tagline beneath uses font-code (monospace) and colour-coded > and | separators in lime and violet.Window Cards
Each card is the shared
Window component — a retro OS chrome with a gradient title bar (from-y2k-teal to-y2k-turquoise), minimise/maximise/close buttons, and a dark scrollable body panel.Mini Skill Bars
The
sys_reqs.exe window previews three skill DLL bars: Frontend.dll (violet, 90 %), Backend.dll (teal, 75 %), and Debugging.dll (orange, 110 %, animate-pulse). These are hardcoded preview values separate from the full Skills page.Retro Components Used
| Component | Export | Where Used |
|---|---|---|
Marquee | M from RetroElements.js | Global layout, wraps every page |
BlinkBadge | B from RetroElements.js | projects.dir window header |
UnderConstruction | U from RetroElements.js | coffee_break.exe window body |
HitCounter | H from RetroElements.js | Sidebar layout, count="00404" |
Customising This Page
Change the hero tagline
In your source project, open the Home page component and find the
<p> element containing Software Developer | Digital Tinkerer | Nostalgia Enthusiast. Replace the text nodes between the <span> separators with your own descriptors, then rebuild the project.Update the marquee message
The
Marquee component in the global layout receives its text prop from the App/layout wrapper. In the source project, locate the string WELCOME TO MY CORNER OF THE WEB and replace it with your own ticker copy, then rebuild.Edit the 'about_me.txt' window snippet
In the source project, locate the
about_me.txt Window card. The career path string Nursing School -> Healthcare -> Retail -> Merchandising -> "Wait, how do websites actually work?" -> Software Development. is a plain text node. Update it to reflect your own journey, then rebuild.Update the projects preview list
Inside the source project’s
projects.dir Window, find the <ul> with the project name <li> items. Replace these with your most recent project names. Each item uses a ChevronRight icon from Lucide React.Adjust the mini skill bar percentages
The three skill DLL preview bars have inline widths (
w-[90%], w-[75%], w-full). In the source project, update the percentage values and labels (Frontend.dll, Backend.dll, Debugging.dll) to match your actual top skills.Component Reference
- Window
- Marquee
- BlinkBadge
| Prop | Type | Default | Description |
|---|---|---|---|
title | string | — | Text displayed in the OS title bar |
icon | ReactNode | undefined | Icon rendered before the title |
className | string | "" | Extra classes on the outer container |
isActive | boolean | true | Active windows get the teal gradient title bar |
onClose | () => void | undefined | Wires up the ✕ button |
The Home page is the only page with
initial={{ opacity: 0, y: 20 }} and exit={{ opacity: 0, y: -20 }}. All other pages use the simpler initial={{ opacity: 0 }} animate={{ opacity: 1 }} exit={{ opacity: 0 }} pattern. This gives the home page a distinctive upward-slide entrance that signals it as the root.