Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/apursley2012/sys.witch-v2/llms.txt

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

TomeCard renders a single writing entry as a card — showing the post title, excerpt, formatted publication date, and a channel/category badge. Cards lift slightly on hover with a neon-purple glow on the left border. The date and channel label are rendered in font-mono, while the excerpt uses font-sans for readability. An “Invoke Text” link button at the bottom of each card links out to the full post.

Props

article
Article
required
The writing entry object to display. See the Article Object Shape section below for required fields.
index
number
required
The zero-based position of this card in the articles array. Used to calculate the stagger delay for the scroll-triggered entrance animation (delay: index * 0.1).

Article Object Shape

FieldTypeDescription
channelstringCategory label rendered in the top-left badge (e.g. "Technical", "Reflections")
datestringPublication date rendered in the top-right corner
titlestringDisplay title of the post
excerptstringOne-sentence summary shown in the card body

Usage

import { TomeCard } from './components/writing/TomeCard.js';
import { writing } from './data/writing.js';

<div className="space-y-6">
  {writing.map((article, i) => (
    <TomeCard key={article.title} article={article} index={i} />
  ))}
</div>

Animation

Each TomeCard uses Framer Motion’s whileInView to fade and rise from { opacity: 0, y: 30 } to { opacity: 1, y: 0 } once it enters the viewport. The viewport is configured with once: true so the animation fires only on first appearance. The index prop controls the stagger: delay: index * 0.1.

Channel Values

ChannelTypical Use
TechnicalDeep dives, code walkthroughs, and implementation guides
ReflectionsCareer retrospectives and personal growth posts
Bug ReportsPost-mortems, debugging stories, and root cause analyses
Project WriteupsArchitecture overviews and build logs
General AudienceAccessible explainers written for non-technical readers
The channel value is rendered verbatim as a badge label — use consistent capitalization across all entries so the badge style looks uniform across the Writing page.

Build docs developers (and LLMs) love