コンテンツコンポーネント

<Markdown>、<Code>、<Diff>、<Spinner>、<AsciiFont>。

これらのコンポーネントは、Markdown、コード、差分、大きな文字をセルグリッド上に描画します。

<Markdown>

ストリーミングに対応したMarkdownです。長くなり続ける文字列を渡しても、フレームは安定したままです。

ライブr stream againtsx
preview://streaming:1
const [text, setText] = useState("");useEffect(() => stream.on("token", (t) => setText((s) => s + t)), []);return <Markdown>{text}</Markdown>;

<Code>

ts、tsx、json、bash、python、rust、go などの構文ハイライトに対応しています。

<Code code={source} language="tsx" showLineNumbers maxHeight={12} />
プロパティ説明
language言語ID
showLineNumbers行番号欄
highlightLines色を付ける行
maxHeight「残りの行」フッター付きの表示切り詰め

<Diff>

Unified形式の差分、または { before, after } から計算した差分を表示します。

ライブ72×12 · booting Turbolog…tsx
preview://diff:1
<Diff patch={{ before, after, filename: "app/page.tsx" }} />

<Spinner>

種類は dots、pulse、matrix、line、braille(ターミナル向け。Menloには点字グリフがありません)です。一時停止中はタイマーが停止します。

<Spinner variant="dots" label="Building…" />

<AsciiFont>

見出し用の大きなピクセル文字です。

ライブ64×11 · booting Turbolog…tsx
preview://ascii:1
<AsciiFont text="▼ TEXT.JS" color="accent" />

3行の表示には font="compact" を使います。FIGlet文字の表示には、font={slant} のように @textjs/font のFIGletフォントを渡します。

GitHubでこのページを編集