Компоненты контента

<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} />
PropОписание
languageИдентификатор языка
showLineNumbersПоле номеров строк
highlightLinesСтроки для подсветки
maxHeightОбрезка с пометкой «ещё строки» внизу

<Diff>

Различия в формате unified diff или вычисленные из { 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" />

Используйте font="compact" для варианта высотой в 3 строки. Передайте шрифт FIGlet из @textjs/font, например font={slant}, для надписей в стиле FIGlet.

Изменить эту страницу на GitHub