diff --git a/src/content/docs/en/guides/actions.mdx b/src/content/docs/en/guides/actions.mdx index ce178741d3244..0d0cc9b6d20a2 100644 --- a/src/content/docs/en/guides/actions.mdx +++ b/src/content/docs/en/guides/actions.mdx @@ -16,7 +16,7 @@ Use actions instead of API endpoints for seamless communication between your cli - Automatically validate JSON and form data inputs using [Zod validation](https://zod.dev/?id=primitives). - Generate type-safe functions to call your backend from the client and even [from HTML form actions](#call-actions-from-an-html-form-action). No need for manual `fetch()` calls. -- Standardize backend errors with the [`ActionError`](/en/reference/api-reference/#actionerror) object. +- Standardize backend errors with the [`ActionError`](/en/reference/modules/astro-actions/#actionerror) object. ## Basic usage @@ -129,7 +129,7 @@ Follow these steps to define an action and call it in a `script` tag in your Ast -See the full Actions API documentation for details on [`defineAction()`](/en/reference/api-reference/#defineaction) and its properties. +See the full Actions API documentation for details on [`defineAction()`](/en/reference/modules/astro-actions/#defineaction) and its properties. ## Organizing actions @@ -340,7 +340,7 @@ The following example shows a validated newsletter registration form that accept } ``` - See the [`input` API reference](/en/reference/api-reference/#input-validator) for all available form validators. + See the [`input` API reference](/en/reference/modules/astro-actions/#input-validator) for all available form validators. 3. Add a ` +``` + +### `navigate()` + +

+ +**Type:** `(href: string, options?: Options) => void`
+ +

+ +A function that executes a navigation to the given `href` using the View Transitions API. + +This function signature is based on the [`navigate` function from the browser Navigation API](https://developer.mozilla.org/en-US/docs/Web/API/Navigation/navigate). Although based on the Navigation API, this function is implemented on top of the [History API](https://developer.mozilla.org/en-US/docs/Web/API/History_API) to allow for navigation without reloading the page. + +#### `history` option + +

+ +**Type:** `'auto' | 'push' | 'replace'`
+**Default:** `'auto'`
+ +

+ +Defines how this navigation should be added to the browser history. + +- `'push'`: the router will use `history.pushState` to create a new entry in the browser history. +- `'replace'`: the router will use `history.replaceState` to update the URL without adding a new entry into navigation. +- `'auto'` (default): the router will attempt `history.pushState`, but if the URL cannot be transitioned to, the current URL will remain with no changes to the browser history. + +This option follows the [`history` option](https://developer.mozilla.org/en-US/docs/Web/API/Navigation/navigate#history) from the browser Navigation API but simplified for the cases that can happen on an Astro project. + +#### `formData` option + +

+ +**Type:** `FormData`
+ +

+ +A `FormData` object for `POST` requests. + +When this option is provided, the requests to the navigation target page will be sent as a `POST` request with the form data object as the content. + +Submitting an HTML form with view transitions enabled will use this method instead of the default navigation with page reload. Calling this method allows triggering the same behavior programmatically. + +#### `info` option + +

+ +**Type:** `any`
+ +

+ +Arbitrary data to be included in the `astro:before-preparation` and `astro:before-swap` events caused by this navigation. + +This option mimics the [`info` option](https://developer.mozilla.org/en-US/docs/Web/API/Navigation/navigate#info) from the browser Navigation API. + +#### `state` option + +

+ +**Type:** `any`
+ +

+ +Arbitrary data to be associated with the `NavitationHistoryEntry` object created by this navigation. This data can then be retrieved using the [`history.getState` function](https://developer.mozilla.org/en-US/docs/Web/API/NavigationHistoryEntry/getState) from the History API. + +This option mimics the [`state` option](https://developer.mozilla.org/en-US/docs/Web/API/Navigation/navigate#state) from the browser Navigation API. + +#### `sourceElement` option + +

+ +**Type:** `Element`
+ +

+ +The element that triggered this navigation, if any. This element will be available in the following events: +- `astro:before-preparation` +- `astro:before-swap` + +### `supportsViewTransitions` + +

+ +**Type:** `boolean`
+ +

+ +Whether or not view transitions are supported and enabled in the current browser. + +### `transitionEnabledOnThisPage` + +

+ +**Type:** `boolean`
+ +

+ +Whether or not the current page has view transitions enabled for client-side navigation. This can be used to make components that behave differently when they are used on pages with view transitions. + +### `getFallback()` + +

+ +**Type:** `() => 'none' | 'animate' | 'swap'`
+ +

+ +Returns the fallback strategy to use in browsers that do not support view transitions. + +See the guide on [Fallback control](/en/guides/view-transitions/#fallback-control) for how to choose and configure the fallback behavior. + +### `swapFunctions` + +

+ + +

+ +An object containing the utility functions used to build Astro’s default swap function. +These can be useful when [building a custom swap function](/en/guides/view-transitions/#building-a-custom-swap-function). + +`swapFunctions` provides the following methods: + +#### `deselectScripts()` + +

+ +**Type:** `(newDocument: Document) => void` +

+ +Marks scripts in the new document that should not be executed. Those scripts are already in the current document and are not flagged for re-execution using [`data-astro-rerun`](/en/guides/view-transitions/#data-astro-rerun). + +#### `swapRootAttributes()` + +

+ +**Type:** `(newDocument: Document) => void` +

+ +Swaps the attributes between the document roots, like the `lang` attribute. This also includes Astro-injected internal attributes like `data-astro-transition`, which makes the transition direction available to Astro-generated CSS rules. + +When making a custom swap function, it is important to call this function so as not to break the view transition's animations. + +#### `swapHeadElements()` + +

+ +**Type:** `(newDocument: Document) => void` +

+ +Removes every element from the current document's `` that is not persisted to the new document. Then appends all new elements from the new document's `` to the current document's ``. + +#### `saveFocus()` + +

+ +**Type:** `() => () => void` +

+ +Stores the element in focus on the current page and returns a function that when called, if the focused element was persisted, returns the focus to it. + + +#### `swapBodyElement()` + +

+ +**Type:** `(newBody: Element, oldBody: Element) => void` +

+ +Replaces the old body with the new body. Then, goes through every element in the old body that should be persisted and have a matching element in the new body and swaps the old element back in place. + +## Lifecycle events + +### `astro:before-preparation` event + +An event dispatched at the beginning of a navigation using View Transitions. This event happens before any request is made and any browser state is changed. + +This event has the attributes: +- [`info`](#info) +- [`sourceElement`](#sourceelement) +- [`navigationType`](#navigationtype) +- [`direction`](#direction) +- [`from`](#from) +- [`to`](#to) +- [`formData`](#formdata) +- [`loader()`](#loader) + +Read more about how to use this event on the [View Transitions guide](/en/guides/view-transitions/#astrobefore-preparation). + +### `astro:after-preparation` event + +An event dispatched after the next page in a navigation using View Transitions is loaded. + +This event has no attributes. + +Read more about how to use this event on the [View Transitions guide](/en/guides/view-transitions/#astroafter-preparation). + +### `astro:before-swap` event + +An event dispatched after the next page is parsed, prepared, and linked into a document in preparation for the transition but before any content is swapped between the documents. + +This event can't be canceled. Calling `preventDefault()` is a no-op. + +This event has the attributes: +- [`info`](#info) +- [`sourceElement`](#sourceelement) +- [`navigationType`](#navigationtype) +- [`direction`](#direction) +- [`from`](#from) +- [`to`](#to) +- [`viewTransition`](#viewtransition) +- [`swap()`](#swap) + +Read more about how to use this event on the [View Transitions guide](/en/guides/view-transitions/#astrobefore-swap). + +### `astro:after-swap` event + +An event dispatched after the contents of the page have been swapped but before the view transition ends. + +The history entry and scroll position have already been updated when this event is triggered. + +### `astro:page-load` event + +An event dispatched after a page completes loading, whether from a navigation using view transitions or native to the browser. + +When view transitions is enabled on the page, code that would normally execute on `DOMContentLoaded` should be changed to execute on this event. + +### Lifecycle events attributes + +

+ +#### `info` + +

+ +**Type:** `URL` +

+ +Arbitrary data defined during navigation. + +This is the literal value passed on the [`info` option](#info-option) of the [`navigate()` function](#navigate). + +#### `sourceElement` + +

+ +**Type:** `Element | undefined` +

+ +The element that triggered the navigation. This can be, for example, an `` element that was clicked. + +When using the [`navigate()` function](#navigate), this will be the element specified in the call. + +#### `newDocument` + +

+ +**Type:** `Document` +

+ +The document for the next page in the navigation. The contents of this document will be swapped in place of the contents of the current document. + +#### `navigationType` + +

+ +**Type:** `'push' | 'replace' | 'traverse'` +

+ +Which kind of history navigation is happening. +- `push`: a new `NavigationHistoryEntry` is being created for the new page. +- `replace`: the current `NavigationHistoryEntry` is being replaced with an entry for the new page. +- `traverse`: no `NavigationHistoryEntry` is created. The position in the history is changing. + The direction of the traversal is given on the [`direction` attribute](#direction) + +#### `direction` + +

+ +**Type:** `Direction` +

+ +The direction of the transition. +- `forward`: navigating to the next page in the history or to a new page. +- `back`: navigating to the previous page in the history. +- Anything else some other listener might have set. + +#### `from` + +

+ +**Type:** `URL` +

+ +The URL of the page initiating the navigation. + +#### `to` + +

+ +**Type:** `URL` +

+ +The URL of the page being navigated to. This property can be modified, the value at the end of the lifecycle will be used in the `NavigationHistoryEntry` for the next page. + +#### `formData` + +

+ +**Type:** `FormData | undefined` +

+ +A `FormData` object for `POST` requests. + +When this attribute is set, a `POST` request will be sent to the [`to` URL](#to) with the given form data object as the content instead of the normal `GET` request. + +When submitting an HTML form with view transitions enabled, this field is automatically set to the data in the form. When using the [`navigate()` function](#navigate), this value is the same as given in the options. + +#### `loader()` + +

+ +**Type:** `() => Promise` +

+ +Implementation of the following phase in the navigation (loading the next page). This implementation can be overridden to add extra behavior. + +#### `viewTransition` + +

+ +**Type:** [`ViewTransition`](https://developer.mozilla.org/en-US/docs/Web/API/ViewTransition) +

+ +The view transition object used in this navigation. On browsers that do not support the [View Transitions API](https://developer.mozilla.org/en-US/docs/Web/API/View_Transitions_API), this is an object implementing the same API for convenience but without the DOM integration. + +#### `swap()` + +

+ +**Type:** `() => void` +

+ +Implementation of the document swap logic. + +Read more about [building a custom swap function](/en/guides/view-transitions/#building-a-custom-swap-function) in the View Transitions guide. + +By default, this implementation will call the following functions in order: + +1. [`deselectScripts()`](#deselectscripts) +2. [`swapRootAttributes()`](#swaprootattributes) +3. [`swapHeadElements()`](#swapheadelements) +4. [`saveFocus()`](#savefocus) +5. [`swapBodyElement()`](#swapbodyelement) diff --git a/src/content/docs/en/tutorials/add-content-collections.mdx b/src/content/docs/en/tutorials/add-content-collections.mdx index a1c1a03a236c6..1dabbb1db239f 100644 --- a/src/content/docs/en/tutorials/add-content-collections.mdx +++ b/src/content/docs/en/tutorials/add-content-collections.mdx @@ -246,7 +246,7 @@ The steps below show you how to extend the final product of the Build a Blog tut ### Replace `Astro.glob()` with `getCollection()` -11. Anywhere you have a list of blog posts, like the tutorial's Blog page (`src/pages/blog.astro/`), you will need to replace `Astro.glob()` with [`getCollection()`](/en/reference/api-reference/#getcollection) as the way to fetch content and metadata from your Markdown files. +11. Anywhere you have a list of blog posts, like the tutorial's Blog page (`src/pages/blog.astro/`), you will need to replace `Astro.glob()` with [`getCollection()`](/en/reference/modules/astro-content/#getcollection) as the way to fetch content and metadata from your Markdown files. ```astro title="src/pages/blog.astro" "post.data" "getCollection(\"posts\")" "/posts/${post.slug}/" del={7} ins={2,8} --- diff --git a/src/content/docs/it/tutorials/add-content-collections.mdx b/src/content/docs/it/tutorials/add-content-collections.mdx index b1dd63819bd29..b9b7c6e441182 100644 --- a/src/content/docs/it/tutorials/add-content-collections.mdx +++ b/src/content/docs/it/tutorials/add-content-collections.mdx @@ -246,7 +246,7 @@ Gli step seguenti mostrano come estendere il prodotto finale della guida Build a ### Rimpiazza `Astro.glob()` con `getCollection()` -11. Ovunque tu abbia una lista di post del blog, come la pagina Blog della guida (`src/pages/blog.astro/`), dovrai sostituire `Astro.glob()` con [`getCollection()`](/it/reference/api-reference/#getcollection) come modo per recuperare contenuti e metadati dai tuoi file Markdown. +11. Ovunque tu abbia una lista di post del blog, come la pagina Blog della guida (`src/pages/blog.astro/`), dovrai sostituire `Astro.glob()` con [`getCollection()`](/it/reference/modules/astro-content/#getcollection) come modo per recuperare contenuti e metadati dai tuoi file Markdown. ```astro title="src/pages/blog.astro" "post.data" "getCollection(\"posts\")" "/posts/${post.slug}/" del={7} ins={2,8} --- diff --git a/src/content/docs/ja/guides/content-collections.mdx b/src/content/docs/ja/guides/content-collections.mdx index 656a6fbce45fc..d37b953a72792 100644 --- a/src/content/docs/ja/guides/content-collections.mdx +++ b/src/content/docs/ja/guides/content-collections.mdx @@ -306,7 +306,7 @@ relatedPosts: ### カスタムスラグの定義 -`type: 'content'`を使用している場合、すべてのコンテンツエントリーは[ファイル`id`](/ja/reference/api-reference/#id)からURLフレンドリーな`slug`プロパティを生成します。このスラグは、コレクションからエントリーを直接クエリするために使用されます。また、コンテンツから新しいページやURLを作成するときにも便利です。 +`type: 'content'`を使用している場合、すべてのコンテンツエントリーは[ファイル`id`](/ja/reference/modules/astro-content/#id)からURLフレンドリーな`slug`プロパティを生成します。このスラグは、コレクションからエントリーを直接クエリするために使用されます。また、コンテンツから新しいページやURLを作成するときにも便利です。 ファイルのフロントマターに独自の`slug`プロパティを追加すると、エントリーの生成されたスラグをオーバーライドできます。これは他のWebフレームワークの"permalink"機能に似ています。`"slug"`は特別な予約されたプロパティ名で、カスタムコレクション`schema`では許可されず、エントリーの`data`プロパティには表示されません。 @@ -320,7 +320,7 @@ slug: my-custom-slug/supports/slashes ## コレクションのクエリ -Astroには、コレクションにクエリを発行して1つ(または複数)のコンテンツエントリーを返す関数が2つあります。[`getCollection()`](/ja/reference/api-reference/#getcollection)と[`getEntry()`](/ja/reference/api-reference/#getentry)です。 +Astroには、コレクションにクエリを発行して1つ(または複数)のコンテンツエントリーを返す関数が2つあります。[`getCollection()`](/ja/reference/modules/astro-content/#getcollection)と[`getEntry()`](/ja/reference/modules/astro-content/#getentry)です。 ```js import { getCollection, getEntry } from 'astro:content'; @@ -337,7 +337,7 @@ const allBlogPosts = await getCollection('blog'); const graceHopperProfile = await getEntry('authors', 'grace-hopper'); ``` -どちらの関数も、[`CollectionEntry`](/ja/reference/api-reference/#collection-entry-type)型で定義されたコンテンツエントリーを返します。 +どちらの関数も、[`CollectionEntry`](/ja/reference/modules/astro-content/#collectionentry)型で定義されたコンテンツエントリーを返します。 ### 参照データへのアクセス @@ -432,7 +432,7 @@ const blogEntries = await getCollection('blog'); コンポーネントは、コンテンツエントリー全体をプロパティとして渡すこともできます。 -この場合、[`CollectionEntry`](/ja/reference/api-reference/#collection-entry-type)ユーティリティを使用して、TypeScriptでコンポーネントのプロパティを適切に型付けできます。 このユーティリティは、コレクションスキーマの名前と一致する文字列引数を取り、そのコレクションのスキーマのすべてのプロパティを継承します。 +この場合、[`CollectionEntry`](/ja/reference/modules/astro-content/#collectionentry)ユーティリティを使用して、TypeScriptでコンポーネントのプロパティを適切に型付けできます。 このユーティリティは、コレクションスキーマの名前と一致する文字列引数を取り、そのコレクションのスキーマのすべてのプロパティを継承します。 ```astro /CollectionEntry(?:<.+>)?/ --- @@ -501,7 +501,7 @@ const { Content } = await entry.render(); ### サーバー出力のビルド(SSR) -動的なウェブサイトを構築する場合(AstroのSSRサポートを使用する場合)、ビルド時にパスを生成する必要はありません。そのかわり、ページでは(`Astro.request`あるいは`Astro.params`を使って)リクエストを調べて`slug`を見つけ、[`getEntry()`](/ja/reference/api-reference/#getentry)を使って取得しなければなりません。 +動的なウェブサイトを構築する場合(AstroのSSRサポートを使用する場合)、ビルド時にパスを生成する必要はありません。そのかわり、ページでは(`Astro.request`あるいは`Astro.params`を使って)リクエストを調べて`slug`を見つけ、[`getEntry()`](/ja/reference/modules/astro-content/#getentry)を使って取得しなければなりません。 ```astro diff --git a/src/content/docs/ja/guides/imports.mdx b/src/content/docs/ja/guides/imports.mdx index f922ee406c03a..6a4a959316870 100644 --- a/src/content/docs/ja/guides/imports.mdx +++ b/src/content/docs/ja/guides/imports.mdx @@ -258,7 +258,7 @@ globパターンは、特殊なワイルドカード文字をサポートする #### `Astro.glob()`と`getCollection()` -[コンテンツコレクション](/ja/guides/content-collections/)は、`Astro.glob()`の代わりに複数のファイルを読み込むための[`getCollection()` API](/ja/reference/api-reference/#getcollection)を提供します。コンテンツファイル(Markdown、MDX、Markdocなど)が`src/content/`ディレクトリ内のコレクションに配置されている場合、`getCollection()`を使用して[コレクションのクエリ](/ja/guides/content-collections/#コレクションのクエリ)を行い、コンテンツのエントリーを返します。 +[コンテンツコレクション](/ja/guides/content-collections/)は、`Astro.glob()`の代わりに複数のファイルを読み込むための[`getCollection()` API](/ja/reference/modules/astro-content/#getcollection)を提供します。コンテンツファイル(Markdown、MDX、Markdocなど)が`src/content/`ディレクトリ内のコレクションに配置されている場合、`getCollection()`を使用して[コレクションのクエリ](/ja/guides/content-collections/#コレクションのクエリ)を行い、コンテンツのエントリーを返します。 ## WASM diff --git a/src/content/docs/ja/guides/middleware.mdx b/src/content/docs/ja/guides/middleware.mdx index d1a7e7397e423..d117b4d66bd55 100644 --- a/src/content/docs/ja/guides/middleware.mdx +++ b/src/content/docs/ja/guides/middleware.mdx @@ -13,7 +13,7 @@ import PackageManagerTabs from '~/components/tabs/PackageManagerTabs.astro'; 1. `src/middleware.js|ts` というファイルを作成します。(あるいは、`src/middleware/index.js|ts` を作成しても構いません。) -2. このファイルの中で、[`context`オブジェクト](#contextオブジェクト)と`next()`関数を受け取る[`onRequest()`](/ja/reference/api-reference/#onrequest)関数をエクスポートします。これをデフォルトエクスポートにしてはいけません。 +2. このファイルの中で、[`context`オブジェクト](#contextオブジェクト)と`next()`関数を受け取る[`onRequest()`](/ja/reference/modules/astro-middleware/#onrequest)関数をエクスポートします。これをデフォルトエクスポートにしてはいけません。 ```js title="src/middleware.js" export function onRequest ({ locals, request }, next) { @@ -153,7 +153,7 @@ declare namespace App { ## ミドルウェアを連結する -[`sequence()`](/ja/reference/api-reference/#sequence)を使用して、複数のミドルウェアを指定した順序で連結できます。 +[`sequence()`](/ja/reference/modules/astro-middleware/#sequence)を使用して、複数のミドルウェアを指定した順序で連結できます。 ```js title="src/middleware.js" import { sequence } from "astro:middleware"; diff --git a/src/content/docs/ja/reference/configuration-reference.mdx b/src/content/docs/ja/reference/configuration-reference.mdx index 286803abadff4..ffd2c3e7637be 100644 --- a/src/content/docs/ja/reference/configuration-reference.mdx +++ b/src/content/docs/ja/reference/configuration-reference.mdx @@ -1223,6 +1223,6 @@ export default defineConfig({ }); ``` -作成されたページルートと、`astro:i18n`のヘルパー関数[`getAbsoluteLocaleUrl()`](/ja/reference/api-reference/#getabsolutelocaleurl)および[`getAbsoluteLocaleUrlList()`](/ja/reference/api-reference/#getabsolutelocaleurllist)から返されたURLは、ともに`i18n.domains`に設定されたオプションを使用します。 +作成されたページルートと、`astro:i18n`のヘルパー関数[`getAbsoluteLocaleUrl()`](/ja/reference/modules/astro-i18n/#getabsolutelocaleurl)および[`getAbsoluteLocaleUrlList()`](/ja/reference/modules/astro-i18n/#getabsolutelocaleurllist)から返されたURLは、ともに`i18n.domains`に設定されたオプションを使用します。 この実験的機能の制限を含む詳しい情報については、[国際化ガイド](/ja/guides/internationalization/#domains)を参照してください。 diff --git a/src/content/docs/pl/guides/imports.mdx b/src/content/docs/pl/guides/imports.mdx index 41868f6861553..f6663c97e0cb4 100644 --- a/src/content/docs/pl/guides/imports.mdx +++ b/src/content/docs/pl/guides/imports.mdx @@ -247,7 +247,7 @@ Dodatkowo, wzorce glob muszą zaczynać się od jednego z następujących: #### `Astro.glob()` vs `getCollection()` -[Zbiory treści](/pl/guides/content-collections/) dostarczają [`getCollection()` API](/pl/reference/api-reference/#getcollection) do ładowania wielu plików zamiast `Astro.glob()`. Jeśli Twoje pliki treści (np. Markdown, MDX, Markdoc) znajdują się w zbiorach w katalogu `src/content/` użyj `getCollection()`, aby [zapytaj zbiór](/pl/guides/content-collections/#querying-collections) i zwróć wpisy treści. +[Zbiory treści](/pl/guides/content-collections/) dostarczają [`getCollection()` API](/pl/reference/modules/astro-content/#getcollection) do ładowania wielu plików zamiast `Astro.glob()`. Jeśli Twoje pliki treści (np. Markdown, MDX, Markdoc) znajdują się w zbiorach w katalogu `src/content/` użyj `getCollection()`, aby [zapytaj zbiór](/pl/guides/content-collections/#querying-collections) i zwróć wpisy treści. ## WASM diff --git a/src/i18n/en/nav.ts b/src/i18n/en/nav.ts index 1f4cdea022df5..33e46adea397d 100644 --- a/src/i18n/en/nav.ts +++ b/src/i18n/en/nav.ts @@ -99,13 +99,25 @@ export default [ { text: 'Testing', slug: 'guides/testing', key: 'guides/testing' }, { text: 'Troubleshooting', slug: 'guides/troubleshooting', key: 'guides/troubleshooting' }, + { text: 'Community Resources', header: true, type: 'learn', key: 'communityResources' }, + { + text: 'Courses, Guides, and Recipes', + slug: 'community-resources/content', + key: 'community-resources/content', + }, + { + text: 'Talks, Interviews, and Streams', + slug: 'community-resources/talks', + key: 'community-resources/talks', + }, + { text: 'Reference', header: true, type: 'api', key: 'reference' }, { text: 'Configuration', slug: 'reference/configuration-reference', key: 'reference/configuration-reference', }, - { text: 'Astro Runtime API', slug: 'reference/api-reference', key: 'reference/api-reference' }, + { text: 'Astro CLI', slug: 'reference/cli-reference', key: 'reference/cli-reference' }, { text: 'Directives Reference', @@ -120,6 +132,16 @@ export default [ { text: 'TypeScript Reference', slug: 'guides/typescript', key: 'guides/typescript' }, { text: 'Error Reference', slug: 'reference/error-reference', key: 'reference/error-reference' }, + { text: 'Astro API Reference', header: true, type: 'api', key: 'api-reference' }, + { text: 'Astro Runtime API', slug: 'reference/api-reference', key: 'reference/api-reference' }, + { text: 'astro:actions', slug: 'reference/modules/astro-actions', key: 'reference/modules/astro-actions' }, + { text: 'astro:assets', slug: 'reference/modules/astro-assets', key: 'reference/modules/astro-assets' }, + { text: 'astro:content', slug: 'reference/modules/astro-content', key: 'reference/modules/astro-content' }, + { text: 'astro:i18n', slug: 'reference/modules/astro-i18n', key: 'reference/modules/astro-i18n' }, + { text: 'astro:middleware', slug: 'reference/modules/astro-middleware', key: 'reference/modules/astro-middleware' }, + { text: 'astro:transitions', slug: 'reference/modules/astro-transitions', key: 'reference/modules/astro-transitions' }, + + { text: 'Other Development APIs', header: true, type: 'api', key: 'dev' }, { text: 'Integrations API', @@ -143,18 +165,6 @@ export default [ key: 'reference/container-reference', }, - { text: 'Community Resources', header: true, type: 'learn', key: 'communityResources' }, - { - text: 'Courses, Guides, and Recipes', - slug: 'community-resources/content', - key: 'community-resources/content', - }, - { - text: 'Talks, Interviews, and Streams', - slug: 'community-resources/talks', - key: 'community-resources/talks', - }, - // { text: 'Configuration', header: true, type: 'learn', key: 'configuration' }, // { // text: 'The Astro Config File',