Pocket guides
Contents
Pocket guides are the docs site's use case books at /pocket-guides: each volume is a shelf cover, a 101, and a set of use cases that each end in a one-click "Add this scout" CTA. They render as a full-window e-reader – figures embedded where the prose cites them – and everything a reader sees is authored in MDX.
This page is the short version for authors. The source of truth for the component side lives in
the repo: src/components/PocketGuides/README.md (the reader, figures, and MDX traps) and
src/components/SelfDrivingInbox/README.md (the report frontmatter contract, the SKILL.md
format, and the agent-mirror constraints).
How a guide is authored
A use case is one directory:
- Copy
contents/pocket-guides/self-driving/_starter/to begin – it's a commented skeleton of both files, kept out of every gallery by the_prefix. - Frontmatter carries the structured data:
title,shortTitle,bookOrder(reading order; 0 is the front matter, omit to keep a draft unlisted), thereportblock that renders as the inbox figures,watches,requires,category, andschedule. - The body carries every word.
<LeftPage>holds the figures,<RightPage>the prose; the reader interleaves each figure after the first block that cites it via<SeeFig n={1} />. SKILL.mdis a real file, not a string – same frontmatter as the canonical scouts in the monorepo, so one can be pasted in or lifted out without reformatting. The page renders it byte-for-byte, and the "Add this scout" deep link prefills PostHog from it.
The two MDX traps
- Never start a line with an inline component (
<Term>): MDX v1 treats a line-leading tag as a block and splits the paragraph. Keep inline tags mid-sentence. - Don't hand-wrap block components in paragraphs – and if a figure ever renders inside a
<p>, check thegatsby-remark-inline-jsx-paragraphsplugin's pocket-guides guard first, then remember Gatsby caches compiled MDX (the fix shows only after the.mdxchanges orpnpm clean).
Term definitions
<Term> hover-card definitions live in src/components/SelfDrivingInbox/terms.tsx, each
quoted from the docs page it links to. If a docs definition changes, update the quote there.
Adding new content elements
The book styles every markdown element itself (its container opts out of the site's prose styling), so a new kind of content – a table, a new list style, anything the guides haven't used before – renders unstyled until the book's component map supports it.
- Check the rendered page whenever you introduce an element the guides haven't used yet. Unsupported elements fail silently: browser-default styling, not an error.
- Inherit website defaults instead of reinventing them. Wrap the element in the site's
native styling (see how lists and tables borrow
.article-contentinsrc/components/PocketGuides/bookPieces.tsx) rather than writing book-specific styles. - Test text resizing on web and mobile. Use the Aa control at every size, at desktop and phone widths – the book's type scales from one base size, and new elements need to keep up.
Measuring
Reader interactions emit the pocket_guide_interaction event (marker glosses, term hovers,
contents, font size, scout-file expansion) and both "Add this scout" CTAs emit it with
kind: add_scout_click – that click is the conversion.