TheDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/apursley2012/web-weaver/llms.txt
Use this file to discover all available pages before exploring further.
TarotCard component is a CSS 3D flip card that brings a tarot-reading experience to the Blog page. At rest, the card face displays a roman numeral, the post’s assigned tarot suit symbol, and its title — styled like an illustration from a real tarot deck. Hovering the card triggers a smooth 180° flip to reveal the post’s excerpt text on the reverse side. The combination of suit, numeral, and thematic typography makes each blog post feel like a card drawn from a personal arcana.
Where It’s Used
TarotCard is the primary display unit in the Blog page (/blog) grid. Every post in the blog index is rendered as one TarotCard. The grid layout arranges cards in rows, and each card flips independently on hover.
Props
The blog post title. Displayed prominently on the front face of the card, below the suit symbol and roman numeral.
A short teaser or summary of the post. Shown on the back face of the card after the flip, giving readers a reason to click through to the full article.
The tarot suit assigned to this post. Each suit renders a distinct SVG or Unicode symbol on the card face:
| Value | Symbol | Thematic Association |
|---|---|---|
wands | Staff / wand | Creativity, ambition |
swords | Crossed swords | Logic, conflict, clarity |
cups | Chalice | Emotion, intuition |
pentacles | Star in circle | Craft, material work |
A roman numeral string displayed at the top of the card face (e.g.
'I', 'II', 'III', 'IV'). Typically assigned sequentially to posts within a suit, or chosen editorially to reflect the post’s rank or order.Usage
Behavior Details
CSS 3D Flip
The flip is achieved with CSStransform-style: preserve-3d and a rotateY(180deg) transform applied to the card container on :hover. Both faces are positioned absolutely within the container, with the back face pre-rotated 180deg so it appears correct after the flip.
| State | Transform |
|---|---|
| At rest (front visible) | rotateY(0deg) |
| Hovered (back visible) | rotateY(180deg) |
transition: transform 0.6s (or equivalent), giving the flip a fluid, deliberate feel.
Card Front
The front face displays three pieces of information in a vertical hierarchy:- Roman numeral — positioned at the top center in a large display typeface.
- Suit symbol — centered below the numeral, rendered as an SVG glyph or styled Unicode character.
- Title — displayed in the lower portion of the card, using the app’s serif or spellbook-style font.
Card Back
The back face shows theexcerpt text centered on a dark background, often accompanied by a subtle decorative border or motif. A brief “Read More →” cue may appear below the excerpt.
- Front Face
- Back Face (on hover)
I numeral → wands symbol → title text.Customization Tips
Roman Numerals
number accepts any string, so you can pass 'X', 'XIV', or even custom glyphs if your content warrants it. There is no built-in validation — keep values consistent for a coherent deck aesthetic.Excerpt Length
Keep
excerpt under 120 characters. Longer excerpts may overflow the card back or require scrolling, which conflicts with the fixed-height card design.Suit Symbols
Suit symbols are rendered inside the component. If you add a new suit variant in the future, update the symbol-to-value mapping inside
TarotCard.js.Accessibility
Add an
aria-label to the card wrapper (e.g. "Blog post: The Magic of React Hooks") so screen readers can identify each card without relying on the visual flip interaction.TarotCard does not handle navigation. Wrap it in a <Link> or attach an onClick handler in the Blog page to route to the full post when the card is clicked.