TheDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/apursley2012/full-stack-sorcerer/llms.txt
Use this file to discover all available pages before exploring further.
/blog route — labelled Bump in the Blog (or Things That Go Bump in
the Blog as its on-page heading) — presents developer essays as physical
books standing on a wooden shelf. Each book spine displays its title written
vertically and a row of ghost icons at the base rating its spookiness on a
1-to-5 scale. Clicking a book lifts it off the shelf with a Framer Motion
hover animation and opens a reading modal with the full post text and its
spookiness rating displayed prominently at the top.
Posts at a Glance
| Title | Spookiness | Opening Line |
|---|---|---|
| Why I Stopped Using Redux | 👻👻👻 (3 / 5) | “It was a dark and stormy night when I realized my boilerplate had grown larger than my actual application logic…” |
| CSS Grid: A Horror Story | 👻👻👻👻👻 (5 / 5) | “I tried to center a div. What happened next will chill you to the bone…” |
| The Phantom Menace of Memory Leaks | 👻👻👻👻 (4 / 5) | “Your app is running fine. Then slowly, silently, the RAM usage creeps up…” |
Posts
Why I Stopped Using Redux
Spookiness: 3 / 5 — A confessional tale about the night boilerplate
swallowed the application whole. Mildly eerie but deeply relatable.
CSS Grid: A Horror Story
Spookiness: 5 / 5 — The most terrifying entry in the collection. One
developer. One
div. An alignment problem that should not have been
possible.The Phantom Menace of Memory Leaks
Spookiness: 4 / 5 — A slow-burn thriller. The RAM usage climbs in
silence. The garbage collector is nowhere to be found.
The Spookiness Rating System
Every post carries a spookiness score from 1 to 5, rendered as a row of ghost icons at the base of the book spine (and again at the top of the reading modal). Filled ghosts represent the post’s score; unfilled ghosts represent the remaining headroom up to 5.| Score | Label | What to Expect |
|---|---|---|
| 1 | Mildly Eerie | A mild shiver — an odd edge case, a surprising API decision |
| 2 | Unsettling | A bug that took longer than it should have to find |
| 3 | Spooky | A real architectural misstep or framework regret |
| 4 | Terrifying | A production incident; sleepless nights were involved |
| 5 | Maximum Horror | You will question your career choices |
Ghost component (./assets/ghost.js) used
throughout the site. A filled ghost (fill="currentColor") is coloured with
text-spooky-turquoise; an empty ghost uses text-spooky-cream/20 and
fill="none".
Adding a New Blog Post
Posts are stored in a plain JavaScript array inside the blog page component. Append an object matching the shape below to publish a new entry:| Field | Type | Purpose |
|---|---|---|
id | number | Unique React list key |
title | string | Rendered vertically on the book spine and as the modal <h2> |
spookiness | number (1–5) | Controls how many ghost icons are filled in |
color | string | Tailwind background class applied to the book spine |
content | string | Full prose shown inside the reading modal |
Accepted color Values
The following background classes are used across the existing posts and are
guaranteed to be present in the compiled Tailwind output:
The bookshelf layout renders each post as a tall, narrow book spine with a
fixed width and a height of
h-64. The post title is displayed with
writing-mode: vertical-rl and transform: rotate(180deg) so it reads
bottom-to-top — standard book-spine orientation. The transformOrigin is set
to bottom center so that the Framer Motion whileHover lift animation
(y: -20, rotate: -2) pivots naturally from the shelf surface, as if a hand
is pulling the book out. The modal close button uses the X icon
(lucide-react x).