Зацени
Компоненты
Компоненты позволяют вам легко повторно использовать фрагменты UI или стилизации. Примерами могут служить ссылочные карточки или встроенные видео YouTube. Starlight поддерживает использование компонентов в файлах MDX и предоставляет некоторые общие компоненты для вашего использования.
Узнайте больше о создании компонентов в документации Astro.
Использование компонент
Вы можете использовать компонент, импортировав его в ваш файл MDX, а затем отобразив его как тег JSX.
Они выглядят как HTML-теги, но начинаются с заглавной буквы, соответствующей имени в вашем операторе import
:
Поскольку Starlight работает на базе Astro, вы можете использовать компоненты, созданные на любом поддерживаемом UI-фреймворке (React, Preact, Svelte, Vue, Solid, Lit и Alpine) в ваших файлах MDX. Узнайте больше о использовании компонентов в MDX в документации Astro.
Совместимость со стилями Starlight
Starlight применяет стандартные стили к вашему содержимому в формате Markdown, например, добавляет отступ между элементами.
Если эти стили конфликтуют с внешним видом вашего компонента, установите класс not-content
для вашего компонента, чтобы отключить их.
Встроенные компоненты
Starlight предоставляет встроенные компоненты для частых случаев, нужных в документации.
Эти компоненты доступны из пакета @astrojs/starlight/components
.
Вкладки
Вы можете отобразить интерфейс с вкладками, используя компоненты <Tabs>
и <TabItem>
.
Каждый компонент <TabItem>
должен иметь label
для отображения пользователям.
Вышеуказанный код генерирует следующие вкладки на странице:
Карточки
Вы можете отображать контент в блоке, со стилями Starlight, используя компонент <Card>
.
Оберните несколько карточек в компонент <CardGrid>
, чтобы отображать карточки рядом, когда есть достаточно места.
<Card>
требует title
и может дополнительно включать атрибут icon
, установленный как название одного из встроенных иконок Starlight.
Вышеуказанный код генерирует следующее на странице:
Звезды
Сириус, Вега, Бетельгейзе
Луны
Ио, Европа, Ганимед
Ссылочные карточки
Используйте компонент <LinkCard>
для создания заметных ссылок на разные страницы.
<LinkCard>
требует атрибута title
и атрибута href
.
По желанию вы можете добавить краткое description
или другие атрибуты ссылки, такие как target
.
Группируйте несколько компонентов <LinkCard>
в <CardGrid>
, чтобы отображать карточки рядом, когда есть достаточно места.
Вышеуказанный код генерирует следующее на странице:
Иконки
Starlight предоставляет набор общих иконок, которые вы можете отображать в своем контенте, используя компонент <Icon>
.
Каждый <Icon>
требует атрибут name
и по желанию может включать атрибуты label
, size
и color
.
Вышеуказанный код генерирует следующее на странице:
Все иконки
Список всех доступных иконок показан ниже с их соответствующими именами. Кликните по значку, чтобы скопировать код компонента для него.