Боковая панель
Хорошо организованная боковая панель — ключ к хорошей документации, поскольку это один из основных способов навигации пользователей по вашему сайту. Starlight предоставляет полный набор опций для настройки макета и содержимого боковой панели.
Стандартная боковая панель
По умолчанию Starlight автоматически генерирует боковую панель на основе структуры файловой системы вашей документации, используя свойство title каждого файла в качестве элемента боковой панели.
Например, при следующей структуре файлов:
Директорияsrc/
Директорияcontent/
Директорияdocs/
Директорияconstellations/
- andromeda.md
 - orion.md
 
Директорияstars/
- betelgeuse.md
 
Будет автоматически сгенерирована следующая боковая панель:
Узнайте больше об автоматически генерируемых боковых панелях в разделе Автогенерируемые группы.
Добавление ссылок и групп ссылок
Чтобы настроить свои ссылки и группы ссылок (внутри сворачиваемого заголовка) в боковой панели, используйте свойство starlight.sidebar в astro.config.mjs.
Комбинируя ссылки и группы, вы можете создавать разнообразные макеты боковой панели.
Ссылки
Добавьте ссылку на внутреннюю или внешнюю страницу, используя объект со свойствами label и link.
starlight({  sidebar: [    // Ссылка на страницу луны Ганимед.    { label: 'Ганимед', link: '/moons/ganymede/' },    // Внешняя ссылка на веб-сайт NASA.    { label: 'NASA', link: 'https://www.nasa.gov/' },  ],});Конфигурация выше создаёт следующую боковую панель:
Группы
Вы можете структурировать вашу боковую панель, группируя связанные ссылки вместе под раскрывающимся заголовком. Группы могут содержать как ссылки, так и другие подгруппы.
Добавьте группу, используя объект со свойствами label и items.
label будет использован как заголовок для группы.
Добавляйте ссылки или подгруппы в массив items.
starlight({  sidebar: [    // Группа ссылок с названием «Созвездия».    {      label: 'Созвездия',      items: [        { label: 'Карина', link: '/constellations/carina/' },        { label: 'Центавр', link: '/constellations/centaurus/' },        // Вложенная группа ссылок для сезонных созвездий.        {          label: 'Сезонные',          items: [            { label: 'Андромеда', link: '/constellations/andromeda/' },            { label: 'Орион', link: '/constellations/orion/' },            { label: 'Малая Медведица', link: '/constellations/ursa-minor/' },          ],        },      ],    },  ],});Вышеуказанная конфигурация генерирует следующую боковую панель:
Автогенерируемые группы
Starlight может автоматически генерировать группу в вашей боковой панели, основываясь на директориях в вашей документации. Это полезно, когда вы не хотите вручную вводить каждый элемент боковой панели в группе.
По умолчанию страницы сортируются в алфавитном порядке в соответствии со свойством slug или именем файла.
Добавьте автогенерируемую группу, используя объект со свойствами label и autogenerate. Ваша конфигурация autogenerate должна указывать directory, которая будет использоваться для записей боковой панели. Например, со следующей конфигурацией:
starlight({  sidebar: [    {      label: 'Созвездия',      // Автогенерация группы ссылок для директории 'constellations'.      autogenerate: { directory: 'constellations' },    },  ],});И следующей структурой файлов:
Директорияsrc/
Директорияcontent/
Директорияdocs/
Директорияconstellations/
- carina.md
 - centaurus.md
 Директорияseasonal/
- andromeda.md
 
Будет сгенерирована следующая боковая панель:
Настройка сгенерированных ссылок через метаданные
Используйте поле sidebar в метаданных страниц для настройки автоматически генерируемых ссылок.
Параметры в метаданных для боковой панели позволяют установить метку или добавить значок к ссылке, скрыть ссылку из боковой панели или определить её порядок в общем списке.
---title: Моя страницаsidebar:  # Установить текст для ссылки  label: Текст в боковой панели  # Установить порядок для ссылки (меньшие числа отображаются выше)  order: 2  # Добавить значок к ссылке  badge:    text: Новое    variant: tip---Автоматически созданная группа, включающая страницу с вышеуказанными метаданными, сгенерирует следующую боковую панель:
Значки
Ссылки также могут включать свойство badge для отображения значка рядом с текстом ссылки.
starlight({  sidebar: [    {      label: 'Звёзды',      items: [        // Ссылка со значком «Сверхгигант».        {          label: 'Персей',          link: '/stars/persei/',          badge: 'Сверхгигант',        },      ],    },    // Автогенерируемая группа со значком "Устарело".    {      label: 'Луны',      badge: 'Устарело',      autogenerate: { directory: 'moons' },    },  ],});Конфигурация выше создаст следующую боковую панель:
Варианты значков
Настройте стиль значка, используя объект со свойствами text и variant.
text представляет содержимое для отображения (например, «Новое»).
Переопределите стиль default, который использует акцентный цвет вашего сайта, установив свойство variant в одно из следующих значений: note, tip, danger, caution или success.
starlight({  sidebar: [    {      label: 'Звёзды',      items: [        // Ссылка с жёлтым значком «Заглушка»        {          label: 'Сириус',          link: '/stars/sirius/',          badge: { text: 'Заглушка', variant: 'caution' },        },      ],    },  ],});Конфигурация выше создаст следующую боковую панель:
Пользовательские HTML-атрибуты
Ссылки также могут включать свойство attrs для добавления пользовательских HTML-атрибутов к элементу ссылки.
В следующем примере attrs используется для добавления атрибута target="_blank", чтобы ссылка открывалась в новой вкладке, а также для применения атрибута style, чтобы курсивом выделить метку ссылки:
starlight({  sidebar: [    {      label: 'Ресурсы',      items: [        // Внешняя ссылка на сайт NASA, открывающаяся в новой вкладке.        {          label: 'NASA',          link: 'https://www.nasa.gov/',          attrs: { target: '_blank', style: 'font-style: italic' },        },      ],    },  ],});Конфигурация выше создаст следующую боковую панель:
Интернационализация
Используйте свойство translations для записей ссылок и групп, чтобы перевести метку ссылки или группы для каждого поддерживаемого языка, указав тег языка BCP-47, например, "en", "ru" или "zh-CN" в качестве ключа, и перевод метки — в качестве значения.
Свойство label будет использоваться для локали по умолчанию и для языков без перевода.
starlight({  sidebar: [    {      label: 'Созвездия',      translations: {        'pt-BR': 'Constelações',      },      items: [        {          label: 'Андромеда',          translations: {            'pt-BR': 'Andrômeda',          },          link: '/constellations/andromeda/',        },        {          label: 'Скорпион',          translations: {            'pt-BR': 'Escorpião',          },          link: '/constellations/scorpius/',        },      ],    },  ],});При просмотре документации на бразильском португальском языке будет сгенерирована следующая боковая панель:
Сворачиваемые группы
Группы ссылок могут быть свёрнуты по умолчанию, если установить свойство collapsed в true.
starlight({  sidebar: [    {      label: 'Созвездия',      // Сворачивание группы по умолчанию      collapsed: true,      items: [        { label: 'Андромеда', link: '/constellations/andromeda/' },        { label: 'Орион', link: '/constellations/orion/' },      ],    },  ],});Конфигурация выше создает следующую боковую панель:
Автогенерируемые группы учитывают значение collapsed родительской группы:
starlight({  sidebar: [    {      label: 'Созвездия',      // Сворачивание группы и её автогенерируемых подгрупп по умолчанию.      collapsed: true,      autogenerate: { directory: 'constellations' },    },  ],});Конфигурация выше создает следующую боковую панель:
Это поведение может быть переопределено путём установки свойства autogenerate.collapsed.
starlight({  sidebar: [    {      label: 'Созвездия',      // Не сворачивать группу «Созвездия», но сворачивать её      // автоматически сгенерированные подгруппы.      collapsed: false,      autogenerate: { directory: 'constellations', collapsed: true },    },  ],});Конфигурация выше создает следующую боковую панель: