Создание контента в Markdown
Starlight поддерживает весь синтаксис Markdown в файлах с расширением .md
, а также синтаксис YAML для определения метаданных, таких как заголовок и описание.
Пожалуйста, обратитесь к документации MDX или документации Markdoc, если вы используете эти форматы файлов, поскольку поддержка и использование Markdown могут отличаться.
Метаданные
Вы можете настроить отдельные страницы в Starlight, установив значения в их заглавной части.
Метаданные устанавливаются в верхней части ваших файлов между разделителями ---
:
Каждая страница должна включать хотя бы заголовок. См. ссылку на метаданные для получения информации обо всех доступных полях и о том, как добавлять настраиваемые поля.
Встроенные стили
Текст может быть жирным, курсивом или зачёркнутым.
Вы можете ссылаться на другую страницу.
Вы можете выделить код
обратными кавычками.
Изображения
Изображения в Starlight используют встроенную оптимизацию ресурсов Astro.
Markdown и MDX поддерживают синтаксис Markdown для отображения изображений, который включает альтернативный текст для экранных читателей и вспомогательных технологий.
Относительные пути к изображениям также поддерживаются для изображений, хранящихся локально в вашем проекте.
Заголовки
Вы можете структурировать контент, используя заголовки. Заголовки в Markdown обозначаются количеством символов #
в начале строки.
Как структурировать контент страницы
Starlight настроен так, чтобы автоматически использовать заголовок вашей страницы в качестве заголовка верхнего уровня и включать заголовок «Обзор» в начале оглавления каждой страницы. Мы рекомендуем начинать каждую страницу с обычного текстового содержания абзаца и использовать заголовки на странице от <h2>
и ниже:
Автоматические якорные ссылки для заголовков
Использование заголовков в Markdown автоматически создает якорные ссылки, позволяя вам ссылаться на определённые разделы вашей страницы:
Заголовки уровня 2 (<h2>
) и уровня 3 (<h3>
) автоматически появятся в оглавлении страницы.
Узнайте больше о том, как Astro обрабатывает идентификаторы заголовков, в документации Astro
Вставки
Вставки полезны для отображения дополнительной информации рядом с основным контентом страницы.
Starlight предоставляет специальный синтаксис Markdown для отображения вставок. Вставки должны быть обернуты парой тройных двоеточий :::
и могут иметь тип note
, tip
, caution
или danger
.
Вы можете указывать любые типы контента Markdown внутри вставок, но вставки лучше всего подходят для коротких и лаконичных блоков информации.
Вставка «Заметка»
Настраиваемые заголовки вставок
Вы можете указать свой заголовок вставки в квадратных скобках после типа вставки, например, :::tip[Небольшой совет]
.
Другие типы вставок
Вставки «Caution» и «danger» полезны для привлечения внимания пользователя к деталям, которые могут сбивать с толку. Если вы часто используете их, это может быть признаком того, что может быть нужно пересмотреть то, что вы документируете.
Цитаты
Это цитата, которую обычно используют при цитировании другого человека или документа.
Цитаты обозначаются символом
>
в начале каждой строки.
Блоки кода
Блок кода обозначается блоком с тремя обратными апострофами ```
в начале и в конце. Вы можете указать язык программирования после открывающих апострофов.
Возможности Expressive Code
Starlight использует Expressive Code для расширения возможностей форматирования блоков кода.
Текстовые маркеры и плагины оконных рамок Expressive Code включены по умолчанию.
Рендеринг блоков кода можно настроить с помощью параметра конфигурации expressiveCode
Starlight.
Текстовые маркеры
Вы можете выделить определённые строки или части блоков кода с помощью текстовых маркеров Expressive Code в первой строке вашего блока кода.
Используйте фигурные скобки ({ }
), чтобы выделить целые строки, и кавычки, чтобы выделить строки текста.
Существует три стиля выделения: нейтральный для привлечения внимания к коду, зелёный для обозначения вставленного кода и красный для обозначения удалённого кода.
И текст, и целые строки можно пометить с помощью маркера по умолчанию или в сочетании с ins=
и del=
для получения желаемого выделения.
Expressive Code предоставляет несколько вариантов настройки внешнего вида примеров кода. Многие из них можно комбинировать для получения наглядных примеров кода. Ознакомьтесь с документацией Expressive Code, чтобы узнать о расширенных возможностях. доступный. Некоторые из наиболее распространённых примеров показаны ниже:
-
Пометка целых строк и диапазонов строк с помощью маркера
{ }
: -
Пометка выделенного текста с помощью маркера
" "
или регулярных выражений: -
Пометка текста или строк как вставленных или удалённых с помощью
ins
илиdel
:
Рамки и заголовки
Блоки кода могут отображаться внутри оконного фрейма.
Рамка, похожая на окно терминала, будет использоваться для языков сценариев оболочки (например, bash
или sh
).
Другие языки отображаются внутри рамки в стиле редактора кода, если они включают заголовок.
Необязательный заголовок блока кода может быть установлен либо с помощью атрибута title="..."
после открывающих обратных кавычек блока кода и идентификатора языка, либо с помощью комментария к имени файла в первых строках кода.
Спойлеры
Спойлеры (также известные как «раскрытия» или «аккордеоны») полезны для того, чтобы скрыть содержимое, которое не имеет непосредственного отношения к делу. Пользователи могут нажать на краткое содержание, чтобы развернуть его и просмотреть полный текст.
Используйте стандартные элементы HTML <details>
и <summary>
в вашем Markdown-контенте, чтобы создать виджет раскрытия информации.
Внутри элемента <details>
можно использовать любой другой синтаксис Markdown.
Где и когда созвездие Андромеды видно лучше всего?
Созвездие Андромеды наиболее заметно на ночном небе в ноябре на широтах от +90°
до -40°
.
Другие возможности Markdown
Starlight поддерживает все синтаксические возможности Markdown, такие как списки и таблицы. Посмотрите шпаргалку по Markdown от The Markdown Guide для изучения всех возможностей синтаксиса Markdown.
Расширенная конфигурация Markdown и MDX
Starlight использует Markdown и рендерер MDX от Astro, основанный на remark
и rehype
. Вы можете добавить поддержку пользовательского синтаксиса и поведения, добавив remarkPlugins
или rehypePlugins
в свой файл конфигурации Astro. Дополнительную информацию см. в статье Плагины Markdown в документации Astro.
Markdoc
Starlight поддерживает создание контента в Markdoc с помощью экспериментальной интеграции с Astro и пресета Starlight Markdoc.
Создание нового проекта с Markdoc
Начните новый проект Starlight с предварительно настроенным Markdoc с помощью команды create astro
:
Добавление Markdoc в существующий проект
Если у вас уже есть сайт Starlight и вы хотите добавить Markdoc, выполните следующие действия.
-
Добавьте интеграцию Markdoc:
-
Установите пресет Markdoc для Starlight:
-
Создайте файл конфигурации Markdoc по адресу
markdoc.config.mjs
и используйте пресет Markdoc:
Чтобы узнать больше о синтаксисе и возможностях Markdoc, смотрите документацию или Руководство по интеграции Markdoc в Astro.