prose: the key-idea callout — GitHub alerts, one sharp white box; tables hug
The one emphasis device for load-bearing ideas: GitHub-style alert callouts. The prompt teaches only > [!IMPORTANT] (one device, one meaning — an unconditional truth laid down, a payoff landed, a hinge definition) with the restraint law: everything else stays in prose, if everything is boxed nothing is. The renderer accepts all five GitHub markers and boxes them identically — a stray [!NOTE] still meant 'this deserves emphasis', and a marker line must never leak as text. Rendering (owner rulings): SHARP corners, white stroke, no background, no label, no icon — just the outline — and the box hugs its text (width: fit-content capped at the column) instead of stretching full-width into empty space. Same grammar as the plan blocks: this is structure, not chrome. Seam: the Streamdown blockquote override in md-blocks. parseAlertMarker is pure and exported — Streamdown wraps blocks in its own styled components, so detection reads the hast node's tagName, and a standalone marker drops its <br> hard-break artifact along with the empty paragraph. Plain blockquotes pass through untouched. Rider (owner, same round): tables hug their contents — width: max-content on the data-streamdown table (width:auto would still stretch, the classic table trap); wide ones keep the md-blocks overflow-x scroller. Graceful in exports: a callout is still a blockquote there. 6 render pins: the box mounts with white stroke + fit-content + no rounding, all five markers box, standalone-marker drops the empty paragraph, multi-paragraph structure kept, plain quotes untouched.
This commit is contained in:
@@ -3,4 +3,5 @@
|
||||
Everything you write — every message, every quiz question, every quiz option and explanation — renders as markdown to him, and the full set is available: headings, lists, tables, fenced code, inline code, bold, mermaid diagrams. Use it maximally when it fits — the default is a structured document, not a wall of prose. Headings for the sections a message naturally has; lists and tables for anything enumerable or comparative; code blocks for anything literal. Structure is not decoration — it makes the content readable at a glance — and when in doubt, structure it.
|
||||
|
||||
- Math: anything expressible in LaTeX goes in LaTeX — formulas, symbols, even single variables — everywhere text renders, and that means EVERY field: prose, quiz questions, quiz options, explanations, problem statements, answers. Inline `\(f(x)\)`, display `\[` fenced on its own lines. NEVER `$` or `$$` — a bare `$` is literal currency here; `\(...\)` and `\[...\]` are the only delimiters that render.
|
||||
- Key ideas: a GitHub-style `> [!IMPORTANT]` callout renders as a distinct outlined block — the one emphasis device for load-bearing ideas. Use it sparingly: an unconditional truth as it's laid down, a payoff when it lands, a definition the whole chain hinges on. Everything else stays in prose — if everything is boxed, nothing is.
|
||||
- Diagrams: ```mermaid fenced blocks render as real diagrams — reach for one whenever structure, flow, or relationships are the point; a good diagram beats three paragraphs. Node labels with spaces or symbols must use quoted bracket form (`B["u = x^3"]`).
|
||||
|
||||
Reference in New Issue
Block a user