Перейти к содержимому

Код

Компонент <Code> отображает код с подсветкой синтаксиса. Это полезно, когда использование блоков кода Markdown невозможно, например, для отображения данных, поступающих из внешних источников, таких как файлы, базы данных или API.

Превью
example.md
## Добро пожаловать
Привет из **космоса**!

Импорт

import { Code } from '@astrojs/starlight/components';

Использование

Используйте компонент <Code> для отображения кода с подсветкой синтаксиса, например, при отображении кода, полученного из внешних источников.

См. главу Компонент кода в документации Expressive Code для получения полной информации о параметрах, которые поддерживает <Code>.

import { Code } from '@astrojs/starlight/components';
export const exampleCode = `console.log('Это может быть файл или CMS!');`;
export const fileName = 'example.js';
export const highlights = ['файл', 'CMS'];
<Code code={exampleCode} lang="js" title={fileName} mark={highlights} />
Превью
example.js
console.log('Это может быть файл или CMS!');

Отображение импортированного кода

Используйте суффикс ?raw в MDX-файлах и компонентах Astro, чтобы импортировать любой файл кода в виде строки. Затем можно передать эту импортированную строку компоненту <Code>, чтобы включить её на свою страницу.

src/content/docs/example.mdx
import { Code } from '@astrojs/starlight/components';
import importedCode from '/src/env.d.ts?raw';
<Code code={importedCode} lang="ts" title="src/env.d.ts" />
Превью
src/env.d.ts
/// <reference path="../.astro/types.d.ts" />
/// <reference types="astro/client" />

Параметры <Code>

Реализация: Code.astro

Компонент <Code> принимает все параметры, описанные в документации Компонент кода Expressive Code.