diff --git a/src/content/docs/ko/reference/api-reference.mdx b/src/content/docs/ko/reference/api-reference.mdx
index 0b73465ccd9e5..90a84805e1d56 100644
--- a/src/content/docs/ko/reference/api-reference.mdx
+++ b/src/content/docs/ko/reference/api-reference.mdx
@@ -1,6 +1,9 @@
---
-title: API 참조
+title: Astro 런타임 API
i18nReady: true
+tableOfContents:
+ minHeadingLevel: 2
+ maxHeadingLevel: 4
---
import Since from '~/components/Since.astro';
import PackageManagerTabs from '~/components/tabs/PackageManagerTabs.astro';
@@ -1008,7 +1011,7 @@ export function GET({ redirect }: APIContext) {
-브라우저를 새 페이지로 리디렉션하지 않고 다른 URL이나 경로에서 콘텐츠를 제공할 수 있습니다.
+브라우저를 새 페이지로 리디렉션하지 않고 다른 URL이나 경로에서 콘텐츠를 제공할 수 있습니다.
이 메서드는 경로 위치에 대한 문자열, `URL`, 또는 `Request` 중 하나를 허용합니다.
@@ -1239,7 +1242,7 @@ const { page } = Astro.props;
- `pageSize` - 페이지당 표시되는 항목 수 (기본값은 `10`)
- `params` - 동적 경로 생성을 위한 추가 매개변수 보내기
- `props` - 각 페이지에서 사용할 수 있도록 추가 props 보내기
-
+
`paginate()`는 `[page].astro` 또는 `[...page].astro`라는 파일 이름을 가정합니다. `page` 매개변수는 URL의 페이지 번호가 됩니다.
- `/posts/[page].astro`는 `/posts/1`, `/posts/2`, `/posts/3` 등의 URL을 생성합니다.
@@ -1375,1530 +1378,4 @@ const { page } = Astro.props;
export default function () {
return import.meta.env.SSR ? : ;
}
-```
-
-## 이미지 (`astro:assets`)
-
-### `getImage()`
-
-
-
-:::caution
-`getImage()`는 서버 전용 API에 의존하며 클라이언트에서 사용될 때 빌드를 중단합니다.
-:::
-
-`getImage()` 함수는 HTML이 아닌 다른 곳 (예: [API 경로](/ko/guides/endpoints/#서버-엔드포인트-api-라우트))에서 사용할 이미지를 생성하기 위한 것입니다. 또한 사용자 정의 `` 컴포넌트를 만들 수도 있습니다.
-
-`getImage()`는 [Image 컴포넌트와 동일한 속성](#속성)을 가진 옵션 객체를 사용합니다 (`alt` 제외).
-
-```astro
----
-import { getImage } from "astro:assets";
-import myBackground from "../background.png"
-
-const optimizedBackground = await getImage({src: myBackground, format: 'avif'})
----
-
-
-```
-
-다음 타입을 가진 객체를 반환합니다.
-
-
-```ts
-type GetImageResult = {
- /* 이미지 렌더링에 필요한 추가 HTML 속성 (width, height, style 등) */
- attributes: Record;
- /* 검증된 매개변수 전달 */
- options: ImageTransform;
- /* 원본 매개변수 전달 */
- rawOptions: ImageTransform;
- /* 생성된 이미지의 경로 */
- src: string;
- srcSet: {
- /* 생성된 srcset의 값, 각 항목에는 URL과 크기 설명자가 있습니다. */
- values: SrcSetValue[];
- /* `srcset` 속성에서 사용할 수 있는 값 */
- attribute: string;
- };
-}
-```
-
-## 콘텐츠 컬렉션 (`astro:content`)
-
-
-
-콘텐츠 컬렉션은 `src/content/`에서 Markdown 또는 MDX 문서를 구성하고 쿼리하는 API를 제공합니다. 기능 및 사용 예시는 [콘텐츠 컬렉션 안내서를 참조하세요](/ko/guides/content-collections/).
-
-### `defineCollection()`
-
-
-
-`type`은 컬렉션에 저장된 항목의 형식을 정의하는 문자열입니다.
-
-- `'content'` - Markdown (`.md`), MDX (`.mdx`), Markdoc (`.mdoc`)와 같은 콘텐츠 작성 형식
-- `'data'` - JSON (`.json`) 또는 YAML (`.yaml`)과 같은 데이터 전용 형식의 경우
-
-:::tip
-즉, 컬렉션은 콘텐츠와 데이터 형식을 혼합하여 저장할 수 **없습니다**. 이러한 항목을 유형별로 별도의 컬렉션으로 분할해야 합니다.
-:::
-
-#### `schema`
-
-
-
-`getCollection()`은 컬렉션 이름별로 콘텐츠 컬렉션 항목 목록을 검색하는 함수입니다.
-
-기본적으로 컬렉션의 모든 항목을 반환하고 항목 속성별로 범위를 좁힐 수 있는 선택적 `filter` 함수를 허용합니다. 이를 통해 `data` 객체를 통해 `id`, `slug` 또는 프런트매터 값을 기반으로 컬렉션의 일부 항목만 쿼리할 수 있습니다.
-
-```astro
----
-import { getCollection } from 'astro:content';
-
-// Get all `src/content/blog/` entries
-const allBlogPosts = await getCollection('blog');
-
-// 프런트매터에 `draft: true`가 포함된 게시물만 반환합니다.
-const draftBlogPosts = await getCollection('blog', ({ data }) => {
- return data.draft === true;
-});
----
-```
-
-사용 예시는 [`콘텐츠 컬렉션` 안내서를 참조하세요](/ko/guides/content-collections/#컬렉션-쿼리).
-
-### `getEntry()`
-
-
-
-**타입:**
-- `(collection: string, contentSlugOrDataId: string) => CollectionEntry`
-- `({ collection: string, id: string }) => CollectionEntry`
-- `({ collection: string, slug: string }) => CollectionEntry`
-
-`getEntry()`는 컬렉션 이름과 항목 `id` (`type: 'data'` 컬렉션의 경우) 또는 항목 `slug` (`type: 'content'` 컬렉션의 경우)로 단일 컬렉션 항목을 검색하는 함수입니다. `getEntry()`는 `data`, `body`, `render()` 속성에 액세스하기 위해 참조된 항목을 가져오는 데에도 사용할 수 있습니다.
-
-```astro
----
-import { getEntry } from 'astro:content';
-
-// Get `src/content/blog/enterprise.md`
-const enterprisePost = await getEntry('blog', 'enterprise');
-
-// Get `src/content/captains/picard.yaml`
-const picardProfile = await getEntry('captains', 'picard');
-
-// `data.captain`이 참조하는 프로필 가져오기
-const enterpriseCaptainProfile = await getEntry(enterprisePost.data.captain);
----
-```
-
-[컬렉션 항목 쿼리](/ko/guides/content-collections/#컬렉션-쿼리)의 예시는 `콘텐츠 컬렉션` 안내서를 참조하세요.
-
-### `getEntries()`
-
-
-
-**타입:**
-- `(Array<{ collection: string, id: string }>) => CollectionEntry[]`
-- `(Array<{ collection: string, slug: string }>) => CollectionEntry[]`
-
-`getEntries()`는 동일한 컬렉션에서 여러 컬렉션 항목을 검색하는 함수입니다. 이는 [참조된 항목의 배열을 반환](/ko/guides/content-collections/#컬렉션-참조-정의하기)하여 관련 `data`, `body`, `render()` 속성에 액세스하는 데 유용합니다.
-
-```astro
----
-import { getEntries } from 'astro:content';
-
-const enterprisePost = await getEntry('blog', 'enterprise');
-
-// `data.relatedPosts`에 의해 참조되는 관련 게시물 가져오기
-const enterpriseRelatedPosts = await getEntries(enterprisePost.data.relatedPosts);
----
-```
-
-### `getEntryBySlug()`
-
-
-
-:::caution[더 이상 사용되지 않음]
-데이터 항목을 쿼리하려면 [`getEntry()` 함수](#getentry)를 사용합니다. 이 함수는 `getDataEntryById()`와 동일한 인수를 전달받으며, Markdown과 같은 콘텐츠 작성 형식의 경우 `slug`로 쿼리할 수 있습니다.
-:::
-
-`getDataEntryById()`는 컬렉션 이름과 항목 `id`로 단일 컬렉션 항목을 검색하는 함수입니다.
-
-
-```astro
----
-import { getDataEntryById } from 'astro:content';
-const picardProfile = await getDataEntryById('captains', 'picard');
----
-```
-
-### 컬렉션 항목 타입
-
-[`getCollection()`](#getcollection), [`getEntry()`](#getentry), [`getEntries()`](#getentries)를 포함한 쿼리 함수는 각각 `CollectionEntry` 타입의 항목을 반환합니다. 이 타입은 `astro:content`에서 유틸리티로 사용할 수 있습니다.
-
-```ts
-import type { CollectionEntry } from 'astro:content';
-```
-
-`CollectionEntry` 타입은 다음 값을 갖는 객체입니다. `TCollectionName`은 쿼리 중인 컬렉션의 이름입니다 (예: `CollectionEntry<'blog'>`).
-
-#### `id`
-
-**사용 가능 대상:** `type: 'content'` 및 `type: 'data'` 컬렉션
-**타입 예시:**
- - 콘텐츠 컬렉션: `'entry-1.md' | 'entry-2.md' | ...`
- - 데이터 컬렉션: `'author-1' | 'author-2' | ...`
-
-`src/content/[collection]`에 상대적인 파일 경로를 사용하는 고유 ID입니다. 컬렉션 항목 파일 경로를 기반으로 가능한 모든 문자열 값을 열거합니다. [`type: 'content'`로 정의된](#type) 컬렉션은 ID에 파일 확장자를 포함하지만 `type: 'data'`로 정의된 컬렉션은 포함하지 않습니다.
-
-#### `collection`
-
-**사용 가능 대상:** `type: 'content'` 및 `type: 'data'` 컬렉션
-**타입 예시:** `'blog' | 'authors' | ...`
-
-항목이 위치한 `src/content/` 아래의 최상위 폴더 이름입니다. 이는 스키마 및 쿼리 함수에서 컬렉션을 참조하는 데 사용되는 이름입니다.
-
-#### `data`
-
-**사용 가능 대상:** `type: 'content'` 및 `type: 'data'` 컬렉션
-**타입:** `CollectionSchema`
-
-컬렉션 스키마에서 추론된 프런트매터 속성의 객체입니다 ([`defineCollection()` 참조를 확인하세요](#definecollection)). 스키마가 구성되지 않은 경우 기본값은 `any`입니다.
-
-#### `slug`
-
-**사용 가능 대상:** `type: 'content'` 컬렉션 전용
-**타입 예시:** `'entry-1' | 'entry-2' | ...`
-
-Markdown 또는 MDX 문서용 URL 지원 슬러그입니다. 파일 확장자가 없는 `id`가 기본값이지만 파일의 프런트매터에서 [`slug` 속성](/ko/guides/content-collections/#사용자-정의-슬러그-정의)을 설정하여 재정의할 수 있습니다.
-
-#### `body`
-
-**사용 가능 대상:** `type: 'content'` 컬렉션 전용
-**타입:** `string`
-
-Markdown 또는 MDX 문서의 컴파일되지 않은 원시 본문을 포함하는 문자열입니다.
-
-#### `render()`
-
-**사용 가능 대상:** `type: 'content'` 컬렉션 전용
-**타입:** `() => Promise`
-
-렌더링을 위해 지정된 Markdown 또는 MDX 문서를 컴파일하는 기능입니다. 그러면 다음 속성이 반환됩니다.
-
-- `` - Astro 파일에서 문서의 내용을 렌더링하는 데 사용되는 컴포넌트입니다.
-- `headings` - Markdown 및 MDX 가져오기에 대해 생성된 제목 목록, [Astro의 `getHeadings()` 유틸리티 미러링](/ko/guides/markdown-content/#사용-가능한-속성).
-- `remarkPluginFrontmatter ` - [remark 또는 rehype 플러그인이 적용된 후](/ko/guides/markdown-content/#프로그래밍-방식으로-프런트매터-수정하기) 수정된 frontmatter 객체. `any` 타입으로 설정합니다.
-
-```astro
----
-import { getEntryBySlug } from 'astro:content';
-const entry = await getEntryBySlug('blog', 'entry-1');
-
-const { Content, headings, remarkPluginFrontmatter } = await entry.render();
----
-```
-
-사용 예시는 [`콘텐츠 컬렉션` 안내서를 참조하세요](/ko/guides/content-collections/#콘텐츠를-html로-렌더링).
-
-### 기타 콘텐츠 컬렉션 타입
-
-`astro:content` 모듈은 Astro 프로젝트에서 사용할 수 있도록 다음 타입도 내보냅니다.
-
-#### `CollectionKey`
-
-
-
-`src/content/config.*` 파일에 정의된 모든 컬렉션 이름의 문자열 통합입니다. 이 타입은 모든 컬렉션 이름을 허용하는 일반 함수를 정의할 때 유용할 수 있습니다.
-
-```ts
-import type { CollectionKey, getCollection } from 'astro:content';
-
-async function getCollection(collection: CollectionKey) {
- return getCollection(collection);
-}
-```
-
-#### `ContentCollectionKey`
-
-
-
-`src/content/config.*` 파일에 정의된 `type: 'content'` 컬렉션의 모든 이름에 대한 문자열 통합입니다.
-
-#### `DataCollectionKey`
-
-
-
-`src/content/config.*` 파일에 정의된 `type: 'data'` 컬렉션의 모든 이름에 대한 문자열 통합입니다.
-
-#### `SchemaContext`
-
-`defineCollection`이 `schema`의 함수 모양을 위해 사용하는 `context` 객체입니다. 이 타입은 여러 컬렉션에 대해 재사용 가능한 스키마를 구축할 때 유용할 수 있습니다.
-
-여기에는 다음 속성이 포함됩니다.
-
-- `image` - [콘텐츠 컬렉션에서 로컬 이미지를 사용](/ko/guides/images/#콘텐츠-컬렉션의-이미지)할 수 있게 해주는 `image()` 스키마 도우미
-
-```ts
-import type { SchemaContext } from 'astro:content';
-
-export const imageSchema = ({ image }: SchemaContext) =>
- z.object({
- image: image(),
- description: z.string().optional(),
- });
-
-const blog = defineCollection({
- type: 'content',
- schema: ({ image }) => z.object({
- title: z.string(),
- permalink: z.string().optional(),
- image: imageSchema({ image })
- }),
-});
-```
-
-## 미들웨어 (`astro:middleware`)
-
-
-
-미들웨어를 사용하면 페이지나 엔드포인트가 렌더링될 때마다 요청과 응답을 가로채고 동작을 동적으로 주입할 수 있습니다. 기능 및 사용 예시는 [미들웨어 안내서 참조](/ko/guides/middleware/)를 확인하세요.
-
-### `onRequest()`
-
-**타입:** `(context: APIContext, next: MiddlewareNext) => Promise | Response | Promise | void`
-
-모든 페이지 또는 API 경로를 렌더링하기 전에 호출되는 `src/middleware.js`에서 내보낸 필수 함수입니다. 두 개의 인수 [context](#context) 및 [next()](#next)를 전달받습니다. `onRequest()`는 `Response`를 직접 반환하거나 `next()`를 호출하여 반환해야 합니다.
-
-```js title="src/middleware.js"
-export function onRequest (context, next) {
- // 요청의 응답 데이터 가로채기
- // 선택적으로 응답을 변환합니다.
- // 응답을 직접 반환하거나 `next()` 호출 결과를 반환합니다.
- return next();
-};
-```
-
-#### `context`
-
-
-
-**타입:** `APIContext`
-
-
-`onRequest()`의 첫 번째 인수는 컨텍스트 객체입니다. 이는 많은 `Astro` 전역 프로퍼티를 반영합니다.
-
-컨텍스트 객체에 대해 더 자세히 알아보기 위해 [엔드포인트 컨텍스트](#엔드포인트-context)를 방문하세요.
-
-#### `next()`
-
-
-
-`onRequest()`의 두 번째 인수는 체인의 모든 후속 미들웨어를 호출하고 `Response`를 반환하는 함수입니다. 예를 들어, 다른 미들웨어가 응답의 HTML 본문을 수정할 수 있으며 `next()`의 결과를 기다리면 미들웨어가 이러한 변경 사항에 응답할 수 있습니다.
-
-Astro v4.13.0부터 `next()`는 새 렌더링 단계를 다시 트리거하지 않고 현재 요청을 [리라이트](/ko/guides/routing/#리라이트)하기 위해 문자열 형식의 선택적 URL 경로 매개 변수인 `URL` 또는 `Request`를 허용합니다.
-
-### `sequence()`
-
-
-
-Astro 미들웨어 `onRequest()` 함수에 전달될 [`APIContext`](#엔드포인트-context)를 생성하는 저수준 API입니다.
-
-이 함수는 Astro 미들웨어를 프로그래밍 방식으로 실행하기 위해 통합/어댑터에서 사용할 수 있습니다.
-
-### `trySerializeLocals()`
-
-
-
-**타입:** `(value: unknown) => string`
-
-
-
-모든 값을 받아들여 해당 값의 직렬화된 버전 (문자열)을 반환하려고 시도하는 저수준 API입니다. 값을 직렬화할 수 없으면 함수에서 런타임 오류가 발생합니다.
-
-## 국제화 (`astro:i18n`)
-
-
-
-이 모듈은 프로젝트에 구성된 로케일을 사용하여 URL을 생성하는 데 도움이 되는 함수를 제공합니다.
-
-i18n 라우터를 사용하여 프로젝트에 대한 경로를 생성하는 것은 페이지 경로에 영향을 주는 특정 구성 값에 따라 달라집니다. 이러한 함수를 사용하여 경로를 생성할 때 다음에 대한 개별 설정을 고려해야 합니다.
-
-- [`base`](/ko/reference/configuration-reference/#base)
-- [`trailingSlash`](/ko/reference/configuration-reference/#trailingslash)
-- [`build.format`](/ko/reference/configuration-reference/#buildformat)
-- [`site`](/ko/reference/configuration-reference/#site)
-
-또한 `defaultLocale`에 대해 이러한 함수에서 반환된 URL은 `i18n.routing` 구성을 반영합니다.
-
-기능 및 사용 예시는 [i18n 라우팅 가이드](/ko/guides/internationalization/)를 참조하세요.
-
-### `getRelativeLocaleUrl()`
-
-
-
-[`site`]의 값이 존재할 때 로케일의 절대 경로를 검색하려면 이 함수를 사용하세요. [`site`]가 구성되지 않은 경우 함수는 상대 URL을 반환합니다. 해당 로케일이 존재하지 않으면 Astro는 오류를 발생시킵니다.
-
-```astro title="src/pages/index.astro"
----
-// `site`가 `https://example.com`로 설정된 경우
-getAbsoluteLocaleUrl("fr");
-// https://example.com/fr 반환
-getAbsoluteLocaleUrl("fr", "");
-// https://example.com/fr 반환
-getAbsoluteLocaleUrl("fr", "getting-started");
-// https://example.com/fr/getting-started 반환
-getAbsoluteLocaleUrl("fr_CA", "getting-started", {
- prependWith: "blog"
-});
-// https://example.com/blog/fr-ca/getting-started 반환
-getAbsoluteLocaleUrl("fr_CA", "getting-started", {
- prependWith: "blog",
- normalizeLocale: false
-});
-// https://example.com/blog/fr_CA/getting-started 반환
----
-```
-
-### `getRelativeLocaleUrlList()`
-
-
-
-:::note
-`i18n.routing`이 `"manual"`로 설정된 경우에만 사용할 수 있습니다.
-:::
-
-다음과 같은 경우 라우팅 미들웨어에서 이 함수를 사용하여 404를 반환합니다.
-- 현재 경로가 루트가 아닌 경우. 예를 들어 `/` 또는 `/`
-- URL에 로케일이 포함되어 있지 않은 경우
-
-`Response`가 전달되면 이 함수에서 내보낸 새 `Response`에는 원래 응답과 동일한 헤더가 포함됩니다.
-
-```js title="middleware.js"
-import { defineMiddleware } from "astro:middleware";
-import { notFound } from "astro:i18n";
-
-export const onRequest = defineMiddleware((context, next) => {
- const pathNotFound = notFound(context);
- if (pathNotFound) {
- return pathNotFound;
- }
- return next();
-})
-```
-
-### `middleware()`
-
-
-
-:::note
-`i18n.routing`이 `"manual"`로 설정된 경우에만 사용할 수 있습니다.
-:::
-
-Astro i18n 미들웨어를 프로그래밍 방식으로 생성할 수 있는 함수입니다.
-
-이는 기본 i18n 로직을 계속 사용하고 싶지만 웹 사이트에 몇 가지 예외만 추가하려는 경우에 유용합니다.
-
-```js title="middleware.js"
-import { middleware } from "astro:i18n";
-import { sequence, defineMiddleware } from "astro:middleware";
-
-const customLogic = defineMiddleware(async (context, next) => {
- const response = await next();
-
- // 응답을 해결한 후 사용자 정의 로직.
- // Astro i18n 미들웨어에서 오는 응답을 캐치할 수 있습니다.
-
- return response;
-});
-
-export const onRequest = sequence(customLogic, middleware({
- prefixDefaultLocale: true,
- redirectToDefaultLocale: false
-}))
-```
-
-### `requestHasLocale()`
-
-
-
-**타입:** `(context: APIContext) => boolean`
-
-
-
-:::note
-`i18n.routing`이 `"manual"`로 설정된 경우에만 사용할 수 있습니다.
-:::
-
-현재 URL에 구성된 로케일이 포함되어 있는지 확인합니다. 내부적으로 이 함수는 `APIContext#url.pathname`을 사용합니다.
-
-```js title="middleware.js"
-import { defineMiddleware } from "astro:middleware";
-import { requestHasLocale } from "astro:i18n";
-
-export const onRequest = defineMiddleware(async (context, next) => {
- if (requestHasLocale(context)) {
- return next();
- }
- return new Response("Not found", { status: 404 });
-})
-```
-
-## View Transitions 클라이언트 API (`astro:transitions/client`)
-
-
-
-이 모듈은 View Transitions API 및 클라이언트 측 라우터를 제어하고 상호 작용하는 함수를 제공합니다.
-
-기능 및 사용 예시는 [View Transitions 가이드](/ko/guides/view-transitions/)를 참조하세요.
-
-### `navigate()`
-
-
-
-View Transitions API를 사용하여 지정된 `href`로 탐색을 실행하는 함수입니다.
-
-이 함수 시그니처는 [브라우저 Navigation API의 `navigate`](https://developer.mozilla.org/en-US/docs/Web/API/Navigation/navigate) 함수를 기반으로 합니다. 이 함수는 Navigation API를 기반으로 하지만, 페이지를 다시 로드하지 않고 탐색할 수 있도록 [History API](https://developer.mozilla.org/ko/docs/Web/API/History_API) 위에 구현되어 있습니다.
-
-#### `history` 옵션
-
-
-
-이 탐색을 브라우저 기록에 추가하는 방법을 정의합니다.
-
-- `'push'`: 라우터는 `history.pushState`를 사용하여 브라우저 기록에 새 항목을 생성합니다.
-- `'replace'`: 라우터는 `history.replaceState`를 사용하여 탐색에 새 항목을 추가하지 않고 URL을 업데이트합니다.
-- `'auto'` (기본값): 라우터는 `history.pushState`를 시도하지만, URL을 전환할 수 없는 경우 현재 URL은 브라우저 기록을 변경하지 않고 그대로 유지됩니다.
-
-이 옵션은 브라우저 Navigation API의 [`history` 옵션](https://developer.mozilla.org/en-US/docs/Web/API/Navigation/navigate#history)을 따르지만, Astro 프로젝트에서 발생할 수 있는 경우를 위해 단순화되었습니다.
-
-#### `formData` 옵션
-
-
-
-**타입:** `FormData`
-
-
-
-`POST` 요청을 위한 `FormData` 객체입니다.
-
-이 옵션을 제공하면 탐색 대상 페이지에 대한 요청이 양식 데이터 객체를 콘텐츠로 하는 `POST` 요청으로 전송됩니다.
-
-view transitions가 활성화된 HTML 양식을 제출하면 페이지 새로 고침이 있는 기본 탐색 대신 이 메서드가 사용됩니다. 이 메서드를 호출하면 프로그래밍 방식으로 동일한 동작을 트리거할 수 있습니다.
-
-#### `info` 옵션
-
-
-
-**타입:** `any`
-
-
-
-이 탐색으로 인해 발생하는 `astro:before-preparation` 및 `astro:before-swap` 이벤트에 포함될 임의의 데이터입니다.
-
-이 옵션은 브라우저 Navigation API의 [`info` 옵션](https://developer.mozilla.org/en-US/docs/Web/API/Navigation/navigate#info)을 모방합니다.
-
-#### `state` 옵션
-
-
-
-**타입:** `any`
-
-
-
-이 탐색에서 생성된 `NavitationHistoryEntry` 객체에 연결할 임의의 데이터입니다. 이 데이터는 History API의 [`history.getState` 함수](https://developer.mozilla.org/en-US/docs/Web/API/NavigationHistoryEntry/getState)를 사용하여 검색할 수 있습니다.
-
-이 옵션은 브라우저 Navigation API의 [`state` 옵션](https://developer.mozilla.org/en-US/docs/Web/API/Navigation/navigate#state)을 모방합니다.
-
-#### `sourceElement` 옵션
-
-
-
-**타입:** `Element`
-
-
-
-이 탐색을 트리거한 요소 (있는 경우)입니다. 이 요소는 다음 이벤트에서 사용할 수 있습니다:
-- `astro:before-preparation`
-- `astro:before-swap`
-
-### `supportsViewTransitions`
-
-
-
-현재 페이지에 클라이언트 측 탐색을 위한 view transitions가 활성화되어 있는지 여부입니다. view transitions가 있는 페이지에서 사용할 때 다르게 동작하는 컴포넌트를 만드는 데 사용할 수 있습니다.
-
-### `getFallback`
-
-
-
-view transitions를 지원하지 않는 브라우저에서 사용할 대체 전략을 반환합니다.
-
-대체 동작을 선택하고 구성하는 방법은 [대체 제어](/ko/guides/view-transitions/#대체-제어) 가이드를 참조하세요.
-
-
-### `astro:before-preparation` 이벤트
-
-View Transitions를 사용하여 탐색을 시작할 때 전송되는 이벤트입니다. 이 이벤트는 요청이 이루어지고 브라우저 상태가 변경되기 전에 발생합니다.
-
-이 이벤트에는 속성이 있습니다:
-- [`info`](#info)
-- [`sourceElement`](#sourceelement)
-- [`navigationType`](#navigationtype)
-- [`direction`](#direction)
-- [`from`](#from)
-- [`to`](#to)
-- [`formData`](#formdata)
-- [`loader`](#loader)
-
-이 이벤트의 사용 방법에 대한 자세한 내용은 [View Transitions 가이드](/ko/guides/view-transitions/#astrobefore-preparation)에서 확인하세요.
-
-### `astro:after-preparation` 이벤트
-
-View Transitions를 사용하는 탐색에서 다음 페이지가 로드된 후에 전송되는 이벤트입니다.
-
-이 이벤트에는 속성이 없습니다.
-
-이 이벤트의 사용 방법에 대한 자세한 내용은 [View Transitions 가이드](/ko/guides/view-transitions/#astroafter-preparation)에서 확인하세요.
-
-### `astro:before-swap` 이벤트
-
-다음 페이지가 구문 분석되고, 준비되고, 트랜지션을 준비하면서 문서에 링크된 후, 문서 간 콘텐츠가 교환되기 전에 전송되는 이벤트입니다.
-
-이 이벤트는 취소할 수 없습니다. `preventDefault()`를 호출하는 것은 아무 작업도 하지 않습니다.
-
-이 이벤트에는 속성이 있습니다:
-- [`info`](#info)
-- [`sourceElement`](#sourceelement)
-- [`navigationType`](#navigationtype)
-- [`direction`](#direction)
-- [`from`](#from)
-- [`to`](#to)
-- [`viewTransition`](#viewtransition)
-- [`swap`](#swap)
-
-이 이벤트의 사용 방법에 대한 자세한 내용은 [View Transitions 가이드](/ko/guides/view-transitions/#astrobefore-swap)에서 확인하세요.
-
-### `astro:after-swap` 이벤트
-
-페이지의 콘텐츠가 교체된 후, view transition이 끝나기 전에 전달되는 이벤트입니다.
-
-이 이벤트가 트리거될 때는, 이미 기록 항목과 스크롤 위치가 업데이트된 후입니다.
-
-### `astro:page-load` 이벤트
-
-view transitions을 사용한 탐색이나 브라우저의 기본 기능으로 페이지 로드가 완료된 후 전달되는 이벤트입니다.
-
-페이지에서 view transitions가 활성화되면 일반적으로 `DOMContentLoaded`에서 실행되는 코드가 이 이벤트에서 실행되도록 변경되어야 합니다.
-
-### View Transitions 이벤트 속성
-
-
-
-#### `info`
-
-
-
-**타입:** `URL`
-
-
-탐색 중에 정의된 임의의 데이터입니다.
-
-이는 [`navigate()` 함수](#navigate)의 [`info` 옵션](#info-옵션)에 전달된 리터럴 값입니다.
-
-#### `sourceElement`
-
-
-
-`isInputError()` 유틸리티는 `ActionError`가 입력 유효성 검사 오류인지 확인하는 데 사용됩니다. `input` 유효성 검사기가 `z.object()`인 경우 입력 오류에는 이름별로 그룹화된 오류 메시지가 있는 `fields` 객체가 포함됩니다.
-
-[양식 입력 오류 가이드](/ko/guides/actions/#양식-입력-오류-표시)에서 `isInputError()` 사용에 대한 자세한 내용을 참조하세요.
-
-### `ActionError`
-
-
-
-
-
-액션 `handler`가 던지는 오류를 생성하는 데 `ActionError()` 생성자가 사용됩니다. 이는 발생한 오류 (예: `"UNAUTHORIZED"`)를 설명하는 `code` 속성과 추가 세부정보가 포함된 선택적 `message` 속성을 허용합니다.
-
-#### `code`
-
-
-
-
-
-`code` 속성은 모든 HTTP 상태 코드의 사람이 읽을 수 있는 버전을 허용합니다. 지원되는 코드는 다음과 같습니다:
-
-- `BAD_REQUEST` (400): 클라이언트가 잘못된 입력을 보냈습니다. 이 오류는 액션 `input` 유효성 검사기가 유효성 검사에 실패할 때 발생합니다.
-- `UNAUTHORIZED` (401): 클라이언트에 유효한 인증 자격 증명이 없습니다.
-- `FORBIDDEN` (403): 클라이언트가 리소스에 액세스할 수 있는 권한이 없습니다.
-- `NOT_FOUND` (404): 서버가 요청된 리소스를 찾을 수 없습니다.
-- `METHOD_NOT_SUPPORTED` (405): 서버가 요청된 메서드를 지원하지 않습니다.
-- `TIMEOUT` (408): 서버가 요청을 처리하는 동안 시간 초과가 발생했습니다.
-- `CONFLICT` (409): 충돌로 인해 서버에서 리소스를 업데이트할 수 없습니다.
-- `PRECONDITION_FAILED` (412): 서버가 요청의 전제 조건을 충족하지 않습니다.
-- `PAYLOAD_TOO_LARGE` (413): 페이로드가 너무 커서 서버가 요청을 처리할 수 없습니다.
-- `UNSUPPORTED_MEDIA_TYPE` (415): 서버가 요청의 미디어 유형을 지원하지 않습니다. 참고: 액션은 이미 JSON 및 양식 요청에 대해 [`Content-Type` 헤더](https://developer.mozilla.org/ko/docs/Web/HTTP/Headers/Content-Type)를 확인하므로 이 코드를 수동으로 사용할 필요가 없을 것입니다.
-- `UNPROCESSABLE_CONTENT` (422): 시멘틱 오류로 인해 서버가 요청을 처리할 수 없습니다.
-- `TOO_MANY_REQUESTS` (429): 서버가 지정된 속도 제한을 초과했습니다.
-- `CLIENT_CLOSED_REQUEST` (499): 서버가 응답하기 전에 클라이언트가 요청을 종료했습니다.
-- `INTERNAL_SERVER_ERROR` (500): 서버가 예기치 않게 실패했습니다.
-- `NOT_IMPLEMENTED` (501): 서버가 요청된 기능을 지원하지 않습니다.
-- `BAD_GATEWAY` (502): 서버가 업스트림 서버로부터 잘못된 응답을 받았습니다.
-- `SERVICE_UNAVAILABLE` (503): 서버를 일시적으로 사용할 수 없습니다.
-- `GATEWAY_TIMEOUT` (504): 서버가 업스트림 서버로부터 시간 초과를 받았습니다.
-
-#### `message`
-
-
-
-
-
-`message` 속성은 문자열을 받습니다. (예: "사용자는 로그인해야 합니다.")
-
-## 내장 컴포넌트
-
-Astro에는 프로젝트에 사용할 수 있는 여러 내장 컴포넌트가 포함되어 있습니다. 모든 내장 컴포넌트는 `import {} from 'astro:components';`를 통해 `.astro` 파일에서 사용할 수 있습니다.
-
-[`ComponentProp` 타입](/ko/guides/typescript/#컴포넌트-props) 유틸리티를 사용하여 이 컴포넌트의 `Props`를 참조할 수 있습니다.
-
-### ``
-
-```astro 'theme="dark-plus"' /wrap\b/ /(inline) \/>/
----
-import { Code } from 'astro:components';
----
-
-
-
-
-
-
-
-
-
- will be rendered inline.
-
-
-
-```
-
-이 컴포넌트는 빌드 시 코드 블록에 구문 강조 표시를 제공합니다 (클라이언트 측 JavaScript는 포함되지 않음). 이 컴포넌트는 Shiki에 의해 내부적으로 구동되며 모든 인기 있는 [테마](https://shiki.style/themes) 및 [언어](https://shiki.style/languages)를 지원합니다. 또한 사용자 정의 테마, 언어, [transformers](#transformers) 및 [기본 색상](https://shiki.style/guide/dual-themes#without-default-color)을 각각 `theme`, `lang`, `transformers`, `defaultColor` 속성에 전달하여 추가할 수 있습니다.
-
-:::note
-이 컴포넌트는 [Shiki 구성](/ko/guides/markdown-content/#shiki-구성)에서 설정을 상속하지 **않습니다**. 반드시 컴포넌트 props를 사용하여 설정해야 합니다.
-:::
-
-#### Transformers
-
-
-
-[Shiki transformers](https://shiki.style/packages/transformers#shikijs-transformers)는 `transformers` 속성에 배열로 전달하여 선택적으로 코드에 적용할 수 있습니다. Astro v4.14.0부터는 [Shiki의 `meta` 속성](https://shiki.style/guide/transformers#meta)에 문자열을 제공하여 트랜스포머에 옵션을 전달할 수도 있습니다.
-
-`transformers`는 단지 클래스만 적용하며 코드 블록의 요소를 대상으로 지정하려면 자체 CSS 규칙을 제공해야 합니다.
-
-```astro title="src/pages/index.astro" {12-13}
----
-import { transformerNotationFocus, transformerMetaHighlight } from '@shikijs/transformers'
-import { Code } from 'astro:components'
-const code = `const foo = 'hello'
-const bar = ' world'
-console.log(foo + bar) // [!code focus]
-`
----
-
-
-
-```
-
-### ``
-
-추가 래핑 요소 없이 HTML 콘텐츠를 렌더링하기 위해 [`set:*` 지시어](/ko/reference/directives-reference/#sethtml)와 함께 사용되는 컴포넌트:
-
-```astro title="src/components/SetHtml.astro" "Fragment"
----
-const htmlString = '
Raw HTML content
';
----
-
-```
-
-Astro 구문의 [프래그먼트 사용](/ko/basics/astro-syntax/#프래그먼트)에 대해 자세히 알아보세요.
-
-### ``
-
-`Prism` 구문 강조 컴포넌트를 사용하려면 먼저 `@astrojs/prism` 패키지를 **설치**하세요.
-
-
-
- ```shell
- npm install @astrojs/prism
- ```
-
-
- ```shell
- pnpm add @astrojs/prism
- ```
-
-
- ```shell
- yarn add @astrojs/prism
- ```
-
-
-
-```astro
----
-import { Prism } from '@astrojs/prism';
----
-
-```
-
-이 컴포넌트는 Prism의 CSS 클래스를 적용하여 코드 블록에 대한 언어별 구문 강조를 제공합니다. 구문 강조를 표시하려면 **Prism CSS 스타일시트를 제공** (또는 자신만의 스타일시트)해야합니다! 자세한 내용은 [Prism 구성 섹션](/ko/guides/markdown-content/#prism-구성)을 참조하세요.
-
-언어에 해당하는 별칭을 찾을 수 있도록 [Prism이 지원하는 언어 목록](https://prismjs.com/#supported-languages)을 참조하세요. 그리고 `lang="astro"`를 사용하여 Astro 코드 블록을 표시할 수도 있습니다!
-
-### ``
-
-```astro title="src/components/MyComponent.astro"
----
-// Image 컴포넌트 및 이미지 가져오기
-import { Image } from 'astro:assets';
-import myImage from "../assets/my_image.png"; // 1600x900의 이미지
----
-
-
-
-```
-
-```html
-
-
-
-```
-#### 속성
-
-- src (필수)
-- alt (필수)
-- width 및 height (`public/` 및 원격 이미지를 사용하는 경우 필수)
-- format
-- quality
-- densities
-- widths
-
-위 속성 외에도 `` 컴포넌트는 HTML `` 태그에서 허용하는 모든 속성을 허용합니다.
-
-[이미지 안내서](/ko/guides/images/#image--astroassets)에서 자세한 내용을 확인하세요.
-
-### ``
-
-
-
-다양한 형식 및/또는 크기로 반응형 이미지를 표시하려면 내장된 `` Astro 컴포넌트를 사용하세요.
-
-```astro title="src/pages/index.astro"
----
-import { Picture } from 'astro:assets';
-import myImage from "../assets/my_image.png"; // 1600x900의 이미지
----
-
-
-
-```
-
-```html
-
-
-```
-
-[이미지 안내서](/ko/guides/images/#picture-)에서 자세한 내용을 확인하세요.
-
-#### 속성
-
-``는 `` 컴포넌트의 모든 속성과 함께 다음을 허용합니다.
-
-##### `formats`
-
-`