diff --git a/docs/src/content/docs/ru/components/using-components.mdx b/docs/src/content/docs/ru/components/using-components.mdx index 9323b5bf197..1b5510cae58 100644 --- a/docs/src/content/docs/ru/components/using-components.mdx +++ b/docs/src/content/docs/ru/components/using-components.mdx @@ -9,7 +9,7 @@ sidebar: Примерами могут служить карточки-ссылки или встраиваемые ролики YouTube. Starlight поддерживает использование компонентов в файлах [MDX](https://mdxjs.com/) и [Markdoc](https://markdoc.dev/), а также предоставляет некоторые общие компоненты для применения. -[Узнайте больше о создании компонентов в документации Astro](https://docs.astro.build/ru/core-concepts/astro-components/). +[Узнайте больше о создании компонентов в документации Astro](https://docs.astro.build/ru/basics/astro-components/). ## Использование компонента в MDX @@ -30,7 +30,7 @@ import CustomCard from '../../components/CustomCard.astro'; Компоненты могут содержать **вложенное содержимое**. ``` -Поскольку Starlight работает на базе Astro, вы можете использовать в своих файлах MDX любые компоненты, созданные на [поддерживаемом UI-фреймворке (React, Preact, Svelte, Vue, Solid и Alpine)](https://docs.astro.build/ru/core-concepts/framework-components/). +Поскольку Starlight работает на базе Astro, вы можете использовать в своих файлах MDX любые компоненты, созданные на [поддерживаемом UI-фреймворке (React, Preact, Svelte, Vue, Solid и Alpine)](https://docs.astro.build/ru/guides/framework-components/). Узнайте больше об [использовании компонентов в MDX](https://docs.astro.build/ru/guides/integrations-guide/mdx/#using-components-in-mdx) в документации Astro. ## Использование компонента в Markdoc diff --git a/docs/src/content/docs/ru/environmental-impact.md b/docs/src/content/docs/ru/environmental-impact.md index d194ead98a4..3358c2cc723 100644 --- a/docs/src/content/docs/ru/environmental-impact.md +++ b/docs/src/content/docs/ru/environmental-impact.md @@ -137,6 +137,6 @@ Cache-Control: public, max-age=604800, immutable [sf]: https://www.sciencefocus.com/science/what-is-the-carbon-footprint-of-the-internet/ [bbc]: https://www.bbc.com/future/article/20200305-why-your-internet-habits-are-not-as-clean-as-you-think [http]: https://httparchive.org/reports/state-of-the-web -[assets]: https://docs.astro.build/ru/guides/assets/ +[assets]: https://docs.astro.build/ru/guides/images/ [islands]: https://docs.astro.build/ru/concepts/islands/ [wcc]: https://www.websitecarbon.com/ diff --git a/docs/src/content/docs/ru/guides/authoring-content.mdx b/docs/src/content/docs/ru/guides/authoring-content.mdx index 894b1e9b27f..5fab7f58a50 100644 --- a/docs/src/content/docs/ru/guides/authoring-content.mdx +++ b/docs/src/content/docs/ru/guides/authoring-content.mdx @@ -45,7 +45,7 @@ title: Заголовок страницы ## Изображения -Изображения в Starlight используют [встроенную оптимизацию ресурсов Astro](https://docs.astro.build/ru/guides/assets/). +Изображения в Starlight используют [встроенную оптимизацию ресурсов Astro](https://docs.astro.build/ru/guides/images/). Markdown и MDX поддерживают синтаксис Markdown для отображения изображений, который включает альтернативный текст для экранных читателей и вспомогательных технологий. diff --git a/docs/src/content/docs/ru/guides/i18n.mdx b/docs/src/content/docs/ru/guides/i18n.mdx index d153de35bb6..81282b41d70 100644 --- a/docs/src/content/docs/ru/guides/i18n.mdx +++ b/docs/src/content/docs/ru/guides/i18n.mdx @@ -189,16 +189,16 @@ import UIStringsList from '~/components/ui-strings-list.astro'; -1. Сконфигурируйте коллекцию данных `i18n` в `src/content/config.ts`, если она ещё не настроена: +1. Сконфигурируйте коллекцию данных `i18n` в `src/content.config.ts`, если она ещё не настроена: - ```diff lang="js" ins=/, (i18nSchema)/ - // src/content/config.ts - import { defineCollection } from 'astro:content'; + ```diff lang="js" ins=/, (i18nLoader|i18nSchema)/ + // src/content.config.ts + import { docsLoader, i18nLoader } from '@astrojs/starlight/loaders'; import { docsSchema, i18nSchema } from '@astrojs/starlight/schema'; export const collections = { - docs: defineCollection({ schema: docsSchema() }), - + i18n: defineCollection({ type: 'data', schema: i18nSchema() }), + docs: defineCollection({ loader: docsLoader(), schema: docsSchema() }), + + i18n: defineCollection({ loader: i18nLoader(), schema: i18nSchema() }), }; ``` @@ -258,14 +258,15 @@ import UIStringsList from '~/components/ui-strings-list.astro'; В следующем примере к ключам по умолчанию добавляется новый необязательный ключ `custom.label`: ```diff lang="js" -// src/content/config.ts +// src/content.config.ts import { defineCollection, z } from 'astro:content'; +import { docsLoader, i18nLoader } from '@astrojs/starlight/loaders'; import { docsSchema, i18nSchema } from '@astrojs/starlight/schema'; export const collections = { - docs: defineCollection({ schema: docsSchema() }), + docs: defineCollection({ loader: docsLoader(), schema: docsSchema() }), i18n: defineCollection({ - type: 'data', + loader: i18nLoader(), schema: i18nSchema({ + extend: z.object({ + 'custom.label': z.string().optional(), diff --git a/docs/src/content/docs/ru/guides/overriding-components.mdx b/docs/src/content/docs/ru/guides/overriding-components.mdx index c53df0cc6ba..ac004c110c5 100644 --- a/docs/src/content/docs/ru/guides/overriding-components.mdx +++ b/docs/src/content/docs/ru/guides/overriding-components.mdx @@ -86,7 +86,7 @@ import Default from '@astrojs/starlight/components/SocialIcons.astro'; При использовании встроенного компонента внутри вашего компонента: - Передайте в него `Astro.props`. Это гарантирует, что он получит все данные, необходимые для отображения. -- Добавьте [``](https://docs.astro.build/ru/core-concepts/astro-components/#slots) внутрь компонента по умолчанию. Это гарантирует, что если компоненту передаются какие-либо дочерние элементы, Astro знает, где их отображать. +- Добавьте [``](https://docs.astro.build/ru/basics/astro-components/#slots) внутрь компонента по умолчанию. Это гарантирует, что если компоненту передаются какие-либо дочерние элементы, Astro знает, где их отображать. Если вы повторно используете компоненты [`PageFrame`](/ru/reference/overrides/#pageframe) или [`TwoColumnContent`](/ru/reference/overrides/#twocolumncontent), содержащие [именованные слоты](https://docs.astro.build/ru/basics/astro-components/#именованые-слоты), вам также необходимо [перенести](https://docs.astro.build/ru/basics/astro-components/#перенос-слотов) эти слоты. @@ -157,4 +157,4 @@ const isHomepage = Astro.props.slug === ''; } ``` -Узнайте больше об условной отрисовке в руководстве [Синтаксис Astro](https://docs.astro.build/ru/core-concepts/astro-syntax/#динамический-html). +Узнайте больше об условной отрисовке в руководстве [Синтаксис Astro](https://docs.astro.build/ru/basics/astro-syntax/#динамический-html). diff --git a/docs/src/content/docs/ru/guides/project-structure.mdx b/docs/src/content/docs/ru/guides/project-structure.mdx index 1c7d11fd789..9f8bc37cb4d 100644 --- a/docs/src/content/docs/ru/guides/project-structure.mdx +++ b/docs/src/content/docs/ru/guides/project-structure.mdx @@ -5,12 +5,12 @@ description: Узнайте, как организовать файлы в ва Это руководство покажет вам, как организован проект Starlight и какую роль выполняют различные файлы в вашем проекте. -Проекты Starlight, как правило, следуют той же структуре файлов и каталогов, что и другие проекты Astro. Подробнее смотрите в [документации по структуре проекта Astro](https://docs.astro.build/ru/core-concepts/project-structure/). +Проекты Starlight, как правило, следуют той же структуре файлов и каталогов, что и другие проекты Astro. Подробнее смотрите в [документации по структуре проекта Astro](https://docs.astro.build/ru/basics/project-structure/). ## Файлы и папки - `astro.config.mjs` — Файл конфигурации Astro; включает интеграцию и конфигурацию Starlight. -- `src/content/config.ts` — Файл конфигурации коллекций контента; добавляет метаданные (frontmatter) от Starlight в ваш проект. +- `src/content.config.ts` — Файл конфигурации коллекций контента; добавляет метаданные (frontmatter) от Starlight в ваш проект. - `src/content/docs/` — Файлы контента. Starlight преобразует каждый файл `.md`, `.mdx` или `.mdoc` в этом каталоге в страницу на вашем сайте. - `src/content/i18n/` (по необходимости) — Данные перевода для поддержки [интернационализации](/ru/guides/i18n/). - `src/` — Другой исходный код и файлы (компоненты, стили, изображения и т. д.) для вашего проекта. @@ -39,8 +39,7 @@ import { FileTree } from '@astrojs/starlight/components'; - 01-getting-started.md - 02-advanced.md - index.mdx - - config.ts - - env.d.ts + - content.config.ts - astro.config.mjs - package.json - tsconfig.json diff --git a/docs/src/content/docs/ru/guides/site-search.mdx b/docs/src/content/docs/ru/guides/site-search.mdx index c07e8d056bd..661d5618b8e 100644 --- a/docs/src/content/docs/ru/guides/site-search.mdx +++ b/docs/src/content/docs/ru/guides/site-search.mdx @@ -124,18 +124,19 @@ title: Частично проиндексированная страница -1. Расширьте определение коллекции контента Starlight `i18n` схемой DocSearch в файле `src/content/config.ts`: +1. Расширьте определение коллекции контента Starlight `i18n` схемой DocSearch в файле `src/content.config.ts`: - ```js ins={4} ins=/{ extend: .+ }/ - // src/content/config.ts + ```js ins={5} ins=/{ extend: .+ }/ + // src/content.config.ts import { defineCollection } from 'astro:content'; + import { docsLoader, i18nLoader } from '@astrojs/starlight/loaders'; import { docsSchema, i18nSchema } from '@astrojs/starlight/schema'; import { docSearchI18nSchema } from '@astrojs/starlight-docsearch/schema'; export const collections = { - docs: defineCollection({ schema: docsSchema() }), + docs: defineCollection({ loader: docsLoader(), schema: docsSchema() }), i18n: defineCollection({ - type: 'data', + loader: i18nLoader(), schema: i18nSchema({ extend: docSearchI18nSchema() }), }), }; diff --git a/docs/src/content/docs/ru/index.mdx b/docs/src/content/docs/ru/index.mdx index 157ba8c4641..73681e0db5c 100644 --- a/docs/src/content/docs/ru/index.mdx +++ b/docs/src/content/docs/ru/index.mdx @@ -7,6 +7,12 @@ description: Starlight помогает вам создавать красивы template: splash editUrl: false lastUpdated: false +banner: + content: | + Обновляетесь до Astro 5? + + Узнайте, как обновиться + hero: title: Сделайте свою документацию яркой с помощью Starlight tagline: Всё, что вам нужно, чтобы создать впечатляющий сайт с документацией. Быстро, доступно и просто в использовании. diff --git a/docs/src/content/docs/ru/manual-setup.mdx b/docs/src/content/docs/ru/manual-setup.mdx index 71d25409336..882eaa8adc7 100644 --- a/docs/src/content/docs/ru/manual-setup.mdx +++ b/docs/src/content/docs/ru/manual-setup.mdx @@ -5,8 +5,7 @@ description: Узнайте, как настроить Starlight вручную, import { Tabs, TabItem } from '@astrojs/starlight/components'; -Самый быстрый способ создать новый сайт на Starlight - использовать `create astro`, -как показано во [введении](/ru/getting-started/#создание-нового-проекта). +Самый быстрый способ создать новый сайт на Starlight - использовать `create astro`, как показано во [введении](/ru/getting-started/#создание-нового-проекта). Если вы хотите добавить Starlight к существующему проекту Astro, это руководство расскажет, как это сделать. ## Настройка Starlight @@ -15,8 +14,7 @@ import { Tabs, TabItem } from '@astrojs/starlight/components'; ### Интеграция Starlight -Starlight является [интеграцией Astro](https://docs.astro.build/ru/guides/integrations-guide/). -Добавьте её на ваш сайт, запустив команду `astro add` в корневой директории вашего проекта: +Starlight является [интеграцией Astro](https://docs.astro.build/ru/guides/integrations-guide/). Добавьте её на ваш сайт, запустив команду `astro add` в корневой директории вашего проекта: @@ -64,21 +62,24 @@ export default defineConfig({ ### Настройка коллекций контента -Starlight создан на основе [коллекций контента](https://docs.astro.build/ru/guides/content-collections/) Astro, -которые настраиваются в файле `src/content/config.ts`. +Starlight создан на основе [коллекций контента](https://docs.astro.build/ru/guides/content-collections/) Astro, которые настраиваются в файле `src/content.config.ts`. -Создайте или обновите файл конфигурации контента, добавив коллекцию `docs`, которая использует схему `docsSchema` от Starlight: +Создайте или обновите файл конфигурации контента, добавив коллекцию `docs`, которая использует схемы `docsLoader` и `docsSchema` от Starlight: -```js ins={3,6} -// src/content/config.ts +```js ins={3-4,7} +// src/content.config.ts import { defineCollection } from 'astro:content'; +import { docsLoader } from '@astrojs/starlight/loaders'; import { docsSchema } from '@astrojs/starlight/schema'; export const collections = { - docs: defineCollection({ schema: docsSchema() }), + docs: defineCollection({ loader: docsLoader(), schema: docsSchema() }), }; ``` +Starlight также поддерживает флаг [`legacy.collections`](https://docs.astro.build/ru/reference/legacy-flags/), при котором коллекции обрабатываются с использованием устаревшей реализации коллекций контента. +Это полезно, если у вас есть существующий проект Astro, и вы не можете в данный момент внести изменения в коллекции для использования загрузчика. + ### Добавление контента Starlight настроен, и пришло время добавить контент! @@ -96,9 +97,7 @@ description: Узнайте больше о моем проекте на это Добро пожаловать в мой проект! ``` -Starlight использует маршрутизацию на основе файлов, что означает, что каждый файл Markdown, MDX или Markdoc в `src/content/docs/` -становится страницей на вашем сайте. Метаданные в начале файла (например, поля `title` и `description` в приведённом выше примере) -могут изменить отображение страниц. +Starlight использует маршрутизацию на основе файлов, что означает, что каждый файл Markdown, MDX или Markdoc в `src/content/docs/` становится страницей на вашем сайте. Метаданные в начале файла (например, поля `title` и `description` в приведённом выше примере) могут изменить отображение страниц. Посмотрите все доступные параметры в [справочнике по метаданным](/ru/reference/frontmatter/). @@ -127,11 +126,10 @@ import { FileTree } from '@astrojs/starlight/components'; -В будущем мы планируем улучшить такой вариант использования путей, -чтобы избежать необходимости в лишнем вложенном каталоге в `src/content/docs/`. +В будущем мы планируем улучшить такой вариант использования путей, чтобы избежать необходимости в лишнем вложенном каталоге в `src/content/docs/`. ### Использование Starlight с SSR -Чтобы включить SSR, следуйте руководству [Адаптеры рендеринга по требованию](https://docs.astro.build/ru/guides/server-side-rendering/) в документации Astro, для добавления серверного адаптера в ваш проект Starlight. +Чтобы включить SSR, следуйте руководству [Адаптеры рендеринга по требованию](https://docs.astro.build/ru/guides/on-demand-rendering/) в документации Astro, для добавления серверного адаптера в ваш проект Starlight. Страницы документации, создаваемые Starlight, по умолчанию предварительно отрисовываются независимо от режима вывода вашего проекта. Для отключения предварительного рендеринга страниц установите для [параметра `prerender`](/ru/reference/configuration/#prerender) значение `false`. diff --git a/docs/src/content/docs/ru/reference/configuration.mdx b/docs/src/content/docs/ru/reference/configuration.mdx index a9a1f76b1a1..d8a76e2af29 100644 --- a/docs/src/content/docs/ru/reference/configuration.mdx +++ b/docs/src/content/docs/ru/reference/configuration.mdx @@ -461,7 +461,7 @@ Pagefind не может быть включен, если для парамет **тип:** `boolean` **по умолчанию:** `true` -Определите, должны ли страницы Starlight предварительно отрисовываться в статический HTML или отрисовываться по требованию с помощью [SSR-адаптера](https://docs.astro.build/ru/guides/server-side-rendering/). +Определите, должны ли страницы Starlight предварительно отрисовываться в статический HTML или отрисовываться по требованию с помощью [SSR-адаптера](https://docs.astro.build/ru/guides/on-demand-rendering/). Страницы Starlight предварительно отрисовываются по умолчанию. Если вы используете адаптер SSR и хотите рендерить страницы Starlight по требованию, установите `prerender: false`. @@ -567,7 +567,7 @@ starlight({ **тип:** `boolean` **по умолчанию:** `false` -Отключает внедрение стандартной [страницы 404](https://docs.astro.build/ru/core-concepts/astro-pages/#custom-404-error-page) Starlight. Чтобы использовать в своем проекте собственный маршрут `src/pages/404.astro`, установите для этого параметра значение `true`. +Отключает внедрение стандартной [страницы 404](https://docs.astro.build/ru/basics/astro-pages/#custom-404-error-page) Starlight. Чтобы использовать в своем проекте собственный маршрут `src/pages/404.astro`, установите для этого параметра значение `true`. ### `components` diff --git a/docs/src/content/docs/ru/reference/frontmatter.md b/docs/src/content/docs/ru/reference/frontmatter.md index 78ce53071fa..eb46880d2bc 100644 --- a/docs/src/content/docs/ru/reference/frontmatter.md +++ b/docs/src/content/docs/ru/reference/frontmatter.md @@ -33,7 +33,7 @@ description: Узнайте больше о проекте, над которы **type**: `string` -Переопределите slug страницы. Более подробную информацию вы найдете в разделе [Определение пользовательских слагов](https://docs.astro.build/ru/guides/content-collections/#defining-custom-slugs) в документации Astro. +Переопределите slug страницы. Более подробную информацию вы найдете в разделе [Определение пользовательских идентификаторов](https://docs.astro.build/en/guides/content-collections/#defining-custom-ids) в документации Astro. ### `editUrl` @@ -397,19 +397,20 @@ sidebar: ## Настройка схемы метаданных -Схема метаданных для коллекции контента Starlight `docs` настраивается в файле `src/content/config.ts` с помощью помощника `docsSchema()`: +Схема метаданных для коллекции контента Starlight `docs` настраивается в файле `src/content.config.ts` с помощью помощника `docsSchema()`: -```ts {3,6} -// src/content/config.ts +```ts {4,7} +// src/content.config.ts import { defineCollection } from 'astro:content'; +import { docsLoader, i18nLoader } from '@astrojs/starlight/loaders'; import { docsSchema } from '@astrojs/starlight/schema'; export const collections = { - docs: defineCollection({ schema: docsSchema() }), + docs: defineCollection({ loader: docsLoader(), schema: docsSchema() }), }; ``` -Подробнее о схемах коллекций содержимого читайте в разделе [Определение схемы коллекции](https://docs.astro.build/ru/guides/content-collections/#defining-a-collection-schema) в документации Astro. +Подробнее о схемах коллекций содержимого читайте в разделе [Определение схемы коллекции](https://docs.astro.build/ru/guides/content-collections/#%D0%BE%D0%BF%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5-%D1%81%D1%85%D0%B5%D0%BC%D1%8B-%D0%BA%D0%BE%D0%BB%D0%BB%D0%B5%D0%BA%D1%86%D0%B8%D0%B8) в документации Astro. `docsSchema()` принимает следующие параметры: @@ -423,13 +424,15 @@ export const collections = { В следующем примере мы задаем более строгий тип для `description`, чтобы сделать его обязательным, и добавляем новое необязательное поле `category`: -```ts {8-13} -// src/content/config.ts +```ts {10-15} +// src/content.config.ts import { defineCollection, z } from 'astro:content'; +import { docsLoader } from '@astrojs/starlight/loaders'; import { docsSchema } from '@astrojs/starlight/schema'; export const collections = { docs: defineCollection({ + loader: docsLoader(), schema: docsSchema({ extend: z.object({ // Делаем встроенное поле обязательным @@ -444,13 +447,15 @@ export const collections = { Чтобы воспользоваться преимуществами [хелпера `image()`](https://docs.astro.build/ru/guides/images/#images-in-content-collections), используйте функцию, которая возвращает расширение вашей схемы: -```ts {8-13} -// src/content/config.ts +```ts {10-15} +// src/content.config.ts import { defineCollection, z } from 'astro:content'; +import { docsLoader } from '@astrojs/starlight/loaders'; import { docsSchema } from '@astrojs/starlight/schema'; export const collections = { docs: defineCollection({ + loader: docsLoader(), schema: docsSchema({ extend: ({ image }) => { return z.object({ diff --git a/docs/src/content/docs/ru/reference/overrides.md b/docs/src/content/docs/ru/reference/overrides.md index e0d7ee69e8c..e683042c694 100644 --- a/docs/src/content/docs/ru/reference/overrides.md +++ b/docs/src/content/docs/ru/reference/overrides.md @@ -69,11 +69,14 @@ Starlight будет передавать следующие параметры Слаг для этой страницы, сгенерированный из имени файла содержимого. +Это свойство устарело и будет удалено в будущей версии Starlight. +Используйте вместо него свойство [`id`](#id), перейдя на новый Content Layer API с помощью [`docsLoader`](/ru/manual-setup/#настройка-коллекций-контента) от Starlight. + #### `id` **тип:** `string` -Уникальный идентификатор этой страницы, основанный на имени файла содержимого. +Слаг или уникальный идентификатор этой страницы, основанный на имени файла, если используется флаг [`legacy.collections`](https://docs.astro.build/ru/reference/legacy-flags/#collections). #### `isFallback`