MDX расширяет возможности Markdown, позволяя вставлять JSX-компоненты прямо в текст и комбинировать их с обычным контентом. Одним из базовых элементов является inline код, который используется для выделения фрагментов кода внутри строки текста. В отличие от блоков кода, inline код не создаёт отдельного блока с отступами, а интегрируется в текстовую строку.
Для создания inline кода используется одинарная обратная кавычка
`. Пример базового синтаксиса:
Используем функцию `formatDate()` для форматирования даты.
В результате рендеринга этот фрагмент будет выделен как код внутри текста.
MDX позволяет использовать JSX-выражения вместе с inline кодом,
однако необходимо различать строки кода и компоненты.
Inline код ограничен текстовым контентом и не выполняет JSX напрямую.
Для динамических вставок используется фигурная скобка
{}:
Сегодня дата: `{new Date().toLocaleDateString()}`
Здесь фрагмент внутри {} вычисляется как JavaScript, а
обратные кавычки остаются для визуального выделения кода.
Внутри inline кода можно использовать символы, которые в обычном Markdown требуют экранирования. Например, обратная кавычка внутри кода:
Используем шаблон: `` `Hello, ${name}!` ``
Обратите внимание на удвоение обратных кавычек: внешние используются для обрамления, а внутренние — остаются частью кода.
MDX наследует стили Markdown, поэтому inline код обычно отображается моноширинным шрифтом и с фоном. Дополнительно можно использовать CSS или стилизованные компоненты для изменения внешнего вида:
<span style={{ backgroundColor: '#f5f5f5', padding: '2px 4px', borderRadius: '4px' }}>
`formatDate()`
</span>
Это позволяет создавать более выразительные визуальные выделения для
небольших фрагментов кода, не прибегая к блокам
<pre>.
MDX позволяет комбинировать текст и JSX, включая inline код внутри компонентов:
<Highlight>
Используйте `map()` для обхода массивов.
</Highlight>
Компонент Highlight получает содержимое с inline кодом и
может применять собственные стили или логику подсветки.
@mdx-js/react или тему
theme-ui).{}.Inline код в MDX — это гибкий инструмент для компактного отображения кода, который легко комбинируется с текстом и JSX, сохраняя читаемость и стиль документации.