-
-
Notifications
You must be signed in to change notification settings - Fork 608
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
i18n(ko-KR): create
guides/route-data.mdx
and `reference/route-dataβ¦
β¦.mdx` (#2896) Co-authored-by: trueberryless <[email protected]>
- Loading branch information
1 parent
bb935c3
commit 239d937
Showing
2 changed files
with
333 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,137 @@ | ||
--- | ||
title: κ²½λ‘ λ°μ΄ν° | ||
description: Starlightμ νμ΄μ§ λ°μ΄ν° λͺ¨λΈμ΄ νμ΄μ§λ₯Ό λ λλ§νλ λ° μ΄λ»κ² μ¬μ©λλμ§, κ·Έλ¦¬κ³ μ΄λ₯Ό μ΄λ»κ² μ¬μ©μ μ μν μ μλμ§ μμ보μΈμ. | ||
--- | ||
|
||
import { Steps } from '@astrojs/starlight/components'; | ||
|
||
Starlightκ° λ¬Έμμμ νμ΄μ§λ₯Ό λ λλ§ν λ, λ¨Όμ ν΄λΉ νμ΄μ§μ λ΄μ©μ λνλ΄λ κ²½λ‘ λ°μ΄ν° κ°μ²΄λ₯Ό μμ±ν©λλ€. | ||
μ΄ κ°μ΄λμμλ κ²½λ‘ λ°μ΄ν°κ° μ΄λ»κ² μμ±λλμ§, μ΄λ»κ² μ¬μ©νλμ§, κ·Έλ¦¬κ³ Starlightμ κΈ°λ³Έ λμμ μμ νκΈ° μν΄ μ΄λ»κ² μ¬μ©μ μ μν μ μλμ§ μ€λͺ ν©λλ€. | ||
|
||
μ¬μ© κ°λ₯ν μμ±μ μ 체 λͺ©λ‘μ ["κ²½λ‘ λ°μ΄ν° μ°Έμ‘°"](/ko/reference/route-data/)λ₯Ό νμΈνμΈμ. | ||
|
||
## κ²½λ‘ λ°μ΄ν°λ 무μμΈκ°μ? | ||
|
||
Starlight κ²½λ‘ λ°μ΄ν°λ λ¨μΌ νμ΄μ§λ₯Ό λ λλ§νλ λ° νμν λͺ¨λ μ 보λ₯Ό λ΄κ³ μλ κ°μ²΄μ λλ€. | ||
μ¬κΈ°μλ νμ¬ νμ΄μ§μ λν μ 보λΏλ§ μλλΌ Starlight ꡬμ±μμ μμ±λ λ°μ΄ν°λ ν¬ν¨λ©λλ€. | ||
|
||
## κ²½λ‘ λ°μ΄ν° μ¬μ©νκΈ° | ||
|
||
Starlightμ λͺ¨λ μ»΄ν¬λνΈλ κ²½λ‘ λ°μ΄ν°λ₯Ό μ¬μ©νμ¬ κ° νμ΄μ§μ 무μμ λ λλ§ν μ§ κ²°μ ν©λλ€. μλ₯Ό λ€μ΄, [`siteTitle`](/ko/reference/route-data/#sitetitle) λ¬Έμμ΄μ μ¬μ΄νΈ μ λͺ©μ νμνλ λ° μ¬μ©λκ³ , [`sidebar`](/ko/reference/route-data/#sidebar) λ°°μ΄μ μ μ μ¬μ΄λλ° νμμ λ λλ§νλ λ° μ¬μ©λ©λλ€. | ||
|
||
Astro μ»΄ν¬λνΈμμ `Astro.locals.starlightRoute` μ μ λ³μλ₯Ό ν΅ν΄ μ΄ λ°μ΄ν°μ μ κ·Όν μ μμ΅λλ€. | ||
|
||
```astro title="example.astro" {2} | ||
--- | ||
const { siteTitle } = Astro.locals.starlightRoute; | ||
--- | ||
<p>The title of this site is β{siteTitle}β</p> | ||
``` | ||
|
||
μλ₯Ό λ€μ΄, [μ»΄ν¬λνΈ μ¬μ μ](/ko/guides/overriding-components/)λ₯Ό ꡬμΆνμ¬ νμλλ λ΄μ©μ μ¬μ©μ μ μν λ μ μ©ν μ μμ΅λλ€. | ||
|
||
## κ²½λ‘ λ°μ΄ν° μ¬μ©μ μ μ | ||
|
||
Starlightμ κ²½λ‘ λ°μ΄ν°λ λ³λμ κ΅¬μ± μμ΄ λ°λ‘ μλν©λλ€. | ||
νμ§λ§ κ³ κΈ μ¬μ© μ¬λ‘μ κ²½μ°, μΌλΆ λλ λͺ¨λ νμ΄μ§μ λν κ²½λ‘ λ°μ΄ν°λ₯Ό μ¬μ©μ μ μνμ¬ μ¬μ΄νΈ νμ λ°©μμ λ³κ²½ν μ μμ΅λλ€. | ||
|
||
μ΄λ [μ»΄ν¬λνΈ μ¬μ μ](/ko/guides/overriding-components/)μ μ μ¬ν κ°λ μ΄μ§λ§, Starlightκ° λ°μ΄ν°λ₯Ό λ λλ§νλ λ°©μμ μμ νλ λμ Starlightκ° λ λλ§νλ λ°μ΄ν°λ₯Ό μμ ν©λλ€. | ||
|
||
### κ²½λ‘ λ°μ΄ν° μ¬μ©μ μ μκ° νμν κ²½μ° | ||
|
||
κ²½λ‘ λ°μ΄ν° μ¬μ©μ μ μλ Starlightκ° λ°μ΄ν°λ₯Ό μ²λ¦¬νλ λ°©μμ κΈ°μ‘΄ κ΅¬μ± μ΅μ μΌλ‘λ λΆκ°λ₯ν λ°©μμΌλ‘ μμ νκ³ μΆμ λ μ μ©ν μ μμ΅λλ€. | ||
|
||
μλ₯Ό λ€μ΄, νΉμ νμ΄μ§μ μ¬μ΄λλ° νλͺ©μ νν°λ§νκ±°λ μ λͺ©μ μ¬μ©μ μ μν μ μμ΅λλ€. μ΄μ κ°μ λ³κ²½ μ¬νμ Starlightμ κΈ°λ³Έ μ»΄ν¬λνΈλ₯Ό μμ ν νμ μμ΄ ν΄λΉ μ»΄ν¬λνΈμ μ λ¬λλ λ°μ΄ν°λ§ μμ νλ©΄ λ©λλ€. | ||
|
||
### κ²½λ‘ λ°μ΄ν°λ₯Ό μ¬μ©μ μ μνλ λ°©λ² | ||
|
||
"λ―Έλ€μ¨μ΄"μ νΉμν ννλ₯Ό μ¬μ©νμ¬ κ²½λ‘ λ°μ΄ν°λ₯Ό μ¬μ©μ μ μν μ μμ΅λλ€. | ||
μ΄λ Starlightκ° νμ΄μ§λ₯Ό λ λλ§ν λλ§λ€ νΈμΆλλ ν¨μλ‘, κ²½λ‘ λ°μ΄ν° κ°μ²΄μ κ°μ μμ ν μ μμ΅λλ€. | ||
|
||
<Steps> | ||
|
||
1. Starlightμ `defineRouteMiddleware()` μ νΈλ¦¬ν°λ₯Ό μ¬μ©νμ¬ `onRequest` ν¨μλ₯Ό λ΄λ³΄λ΄λ μ νμΌμ λ§λλλ€. | ||
|
||
```ts | ||
// src/routeData.ts | ||
import { defineRouteMiddleware } from '@astrojs/starlight/route-data'; | ||
|
||
export const onRequest = defineRouteMiddleware(() => {}); | ||
``` | ||
|
||
2. `astro.config.mjs`μμ κ²½λ‘ λ°μ΄ν° λ―Έλ€μ¨μ΄ νμΌμ μμΉλ₯Ό Starlightμ μλ €μ€λλ€. | ||
|
||
```js ins={9} | ||
// astro.config.mjs | ||
import { defineConfig } from 'astro/config'; | ||
import starlight from '@astrojs/starlight'; | ||
|
||
export default defineConfig({ | ||
integrations: [ | ||
starlight({ | ||
title: 'λμ μ¦κ±°μ΄ λ¬Έμ μ¬μ΄νΈ', | ||
routeMiddleware: './src/routeData.ts', | ||
}), | ||
], | ||
}); | ||
``` | ||
|
||
3. `onRequest` ν¨μλ₯Ό μ λ°μ΄νΈνμ¬ κ²½λ‘ λ°μ΄ν°λ₯Ό μμ ν©λλ€. | ||
|
||
λ―Έλ€μ¨μ΄κ° λ°λ 첫 λ²μ§Έ μΈμλ [Astroμ `context` κ°μ²΄](https://docs.astro.build/ko/reference/api-reference/)μ λλ€. | ||
μ¬κΈ°μλ νμ¬ URLκ³Ό `locals`λ₯Ό ν¬ν¨νμ¬ νμ¬ νμ΄μ§ λ λλ§μ λν λͺ¨λ μ λ³΄κ° ν¬ν¨λμ΄ μμ΅λλ€. | ||
|
||
μ΄ μμ μμλ λͺ¨λ νμ΄μ§ μ λͺ©μ λμ λλνλ₯Ό μΆκ°νμ¬ λ¬Έμλ₯Ό λμ± ν₯λ―Έλ‘κ² λ§λ€ κ²μ λλ€. | ||
|
||
```ts | ||
// src/routeData.ts | ||
import { defineRouteMiddleware } from '@astrojs/starlight/route-data'; | ||
|
||
export const onRequest = defineRouteMiddleware((context) => { | ||
// μ΄ νμ΄μ§μ μ½ν μΈ μ»¬λ μ νλͺ©μ κ°μ Έμ΅λλ€. | ||
const { entry } = context.locals.starlightRoute; | ||
// μ λͺ©μ λλνλ₯Ό μΆκ°νμ¬ μ λ°μ΄νΈν©λλ€. | ||
entry.data.title = entry.data.title + '!'; | ||
}); | ||
``` | ||
|
||
</Steps> | ||
|
||
#### μ¬λ¬ κ²½λ‘ λ―Έλ€μ¨μ΄ | ||
|
||
Starlightλ μ¬λ¬ κ°μ λ―Έλ€μ¨μ΄ μ 곡λ μ§μν©λλ€. | ||
λ μ΄μμ λ―Έλ€μ¨μ΄ νΈλ€λ¬λ₯Ό μΆκ°νλ €λ©΄ `routeMiddleware`λ₯Ό κ²½λ‘ λ°°μ΄λ‘ μ€μ νμΈμ. | ||
|
||
```js {9} | ||
// astro.config.mjs | ||
import { defineConfig } from 'astro/config'; | ||
import starlight from '@astrojs/starlight'; | ||
|
||
export default defineConfig({ | ||
integrations: [ | ||
starlight({ | ||
title: 'μ¬λ¬ λ―Έλ€μ¨μ΄κ° μλ λ΄ μ¬μ΄νΈ', | ||
routeMiddleware: ['./src/middleware-one.ts', './src/middleware-two.ts'], | ||
}), | ||
], | ||
}); | ||
``` | ||
|
||
#### μΆκ°λ κ²½λ‘ λ―Έλ€μ¨μ΄ λκΈ° | ||
|
||
μ½λ μ€ν μ μ μ€νμ μΆκ°λ λ―Έλ€μ¨μ΄κ° μ€νλ λκΉμ§ κΈ°λ€λ¦¬λ €λ©΄ λ―Έλ€μ¨μ΄ ν¨μμ λ λ²μ§Έ μΈμλ‘ μ λ¬λλ `next()` μ½λ°±μ awaitν μ μμ΅λλ€. | ||
μλ₯Ό λ€μ΄, λ³κ²½νκΈ° μ μ νλ¬κ·ΈμΈμ λ―Έλ€μ¨μ΄κ° μ€νλ λκΉμ§ κΈ°λ€λ¦¬λ λ° μ μ©ν μ μμ΅λλ€. | ||
|
||
```ts "next" "await next();" | ||
// src/routeData.ts | ||
import { defineRouteMiddleware } from '@astrojs/starlight/route-data'; | ||
|
||
export const onRequest = defineRouteMiddleware(async (context, next) => { | ||
// μΆκ°λ λ―Έλ€μ¨μ΄κ° μ€νλ λκΉμ§ κΈ°λ€λ¦½λλ€. | ||
await next(); | ||
// κ²½λ‘ λ°μ΄ν°λ₯Ό μμ ν©λλ€. | ||
const { entry } = context.locals.starlightRoute; | ||
entry.data.title = entry.data.title + '!'; | ||
}); | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,196 @@ | ||
--- | ||
title: κ²½λ‘ λ°μ΄ν° μ°Έμ‘° | ||
description: Starlightμ κ²½λ‘ λ°μ΄ν° κ°μ²΄μ λν μ 체 μ°Έμ‘° λ¬Έμμ λλ€. | ||
--- | ||
|
||
Starlightμ κ²½λ‘ λ°μ΄ν° κ°μ²΄λ νμ¬ νμ΄μ§μ λν μ 보λ₯Ό λ΄κ³ μμ΅λλ€. | ||
Starlightμ λ°μ΄ν° λͺ¨λΈ μλ λ°©μμ λν μμΈν λ΄μ©μ ["κ²½λ‘ λ°μ΄ν°" κ°μ΄λ](/ko/guides/route-data/)μμ νμΈνμΈμ. | ||
|
||
Astro μ»΄ν¬λνΈμμλ `Astro.locals.starlightRoute`λ₯Ό ν΅ν΄ κ²½λ‘ λ°μ΄ν°μ μ κ·Όν μ μμ΅λλ€. | ||
|
||
```astro {4} | ||
--- | ||
// src/components/Custom.astro | ||
const { hasSidebar } = Astro.locals.starlightRoute; | ||
--- | ||
``` | ||
|
||
[κ²½λ‘ λ―Έλ€μ¨μ΄](/ko/guides/route-data/#κ²½λ‘-λ°μ΄ν°-μ¬μ©μ-μ μ)μμλ λ―Έλ€μ¨μ΄ ν¨μμ μ λ¬λ 컨ν μ€νΈ κ°μ²΄μμ κ²½λ‘ λ°μ΄ν°μ μ κ·Όν©λλ€. | ||
|
||
```ts {5} | ||
// src/routeData.ts | ||
import { defineRouteMiddleware } from '@astrojs/starlight/route-data'; | ||
|
||
export const onRequest = defineRouteMiddleware((context) => { | ||
const { hasSidebar } = context.locals.starlightRoute; | ||
}); | ||
``` | ||
|
||
## `starlightRoute` | ||
|
||
`starlightRoute` κ°μ²΄λ λ€μ μμ±μ κ°μ§λλ€. | ||
|
||
### `dir` | ||
|
||
**νμ :** `'ltr' | 'rtl'` | ||
|
||
νμ΄μ§ μμ± λ°©ν₯μ λλ€. | ||
|
||
### `lang` | ||
|
||
**νμ :** `string` | ||
|
||
μ΄ νμ΄μ§μ λ‘μΌμΌμ λν BCP-47 μΈμ΄ νκ·Έμ λλ€. μ: `en`, `zh-CN` λλ `pt-BR` | ||
|
||
### `locale` | ||
|
||
**νμ :** `string | undefined` | ||
|
||
μΈμ΄κ° μ 곡λλ κΈ°λ³Έ κ²½λ‘μ λλ€. λ£¨νΈ λ‘μΌμΌ μ¬λ¬κ·Έμ κ²½μ° `undefined`μ λλ€. | ||
|
||
### `siteTitle` | ||
|
||
**νμ :** `string` | ||
|
||
μ΄ νμ΄μ§μ λ‘μΌμΌμ λν μ¬μ΄νΈ μ λͺ©μ λλ€. | ||
|
||
### `siteTitleHref` | ||
|
||
**νμ :** `string` | ||
|
||
`/`μ²λΌ ννμ΄μ§μ μ°κ²°λλ μ¬μ΄νΈ μ λͺ© `href` μμ±μ κ°μ λλ€. | ||
λ€κ΅μ΄ μ¬μ΄νΈμ κ²½μ° `/en/` λλ `/zh-cn/`κ³Ό κ°μ νμ¬ λ‘μΌμΌμ΄ ν¬ν¨λ©λλ€. | ||
|
||
### `slug` | ||
|
||
**νμ :** `string` | ||
|
||
μ½ν μΈ νμΌ μ΄λ¦μμ μμ±λ μ΄ νμ΄μ§μ μ¬λ¬κ·Έμ λλ€. | ||
|
||
μ΄ μμ±μ λ μ΄μ μ¬μ©λμ§ μμΌλ©° ν₯ν λ²μ μ Starlightμμ μ κ±°λ μμ μ λλ€. | ||
[Starlightμ `docsLoader`](/ko/manual-setup/#μ½ν μΈ -컬λ μ -ꡬμ±)λ₯Ό μ¬μ©νμ¬ μ μ½ν μΈ λ μ΄μ΄ APIλ‘ λ§μ΄κ·Έλ μ΄μ νκ³ λμ [`id`](#id) μμ±μ μ¬μ©νμΈμ. | ||
|
||
### `id` | ||
|
||
**νμ :** `string` | ||
|
||
μ΄ νμ΄μ§μ μ¬λ¬κ·Έ λλ [`legacy.collections`](https://docs.astro.build/ko/reference/legacy-flags/#collections) νλκ·Έλ₯Ό μ¬μ©νλ κ²½μ° μ½ν μΈ νμΌλͺ μ κΈ°μ€μΌλ‘ ν μ΄ νμ΄μ§μ κ³ μ IDμ λλ€. | ||
|
||
### `isFallback` | ||
|
||
**νμ :** `true | undefined` | ||
|
||
μ΄ νμ΄μ§κ° νμ¬ μΈμ΄λ‘ λ²μλμ§ μκ³ κΈ°λ³Έ λ‘μΌμΌμ λ체 μ½ν μΈ λ₯Ό μ¬μ©νλ κ²½μ° `true`μ λλ€. | ||
λ€κ΅μ΄ μ¬μ΄νΈμμλ§ μ¬μ©λ©λλ€. | ||
|
||
### `entryMeta` | ||
|
||
**νμ :** `{ dir: 'ltr' | 'rtl'; lang: string }` | ||
|
||
νμ΄μ§ μ½ν μΈ μ λ‘μΌμΌ λ©νλ°μ΄ν°μ λλ€. νμ΄μ§κ° λ체 μ½ν μΈ λ₯Ό μ¬μ©νλ κ²½μ° μ΅μμ λ‘μΌμΌ κ°κ³Ό λ€λ₯Ό μ μμ΅λλ€. | ||
|
||
### `entry` | ||
|
||
νμ¬ νμ΄μ§μ λν Astro μ½ν μΈ μ»¬λ μ νλͺ©μ λλ€. | ||
`entry.data`λ νμ¬ νμ΄μ§μ λν νλ‘ νΈλ§€ν° κ°μ ν¬ν¨ν©λλ€. | ||
|
||
```ts | ||
entry: { | ||
data: { | ||
title: string; | ||
description: string | undefined; | ||
// κΈ°ν | ||
} | ||
} | ||
``` | ||
|
||
[Astro 컬λ μ μνΈλ¦¬ νμ ](https://docs.astro.build/ko/reference/modules/astro-content/#collectionentry) μ°Έμ‘°μμ μ΄ κ°μ²΄μ ννμ λν΄ μμΈν μμ보μΈμ. | ||
|
||
### `sidebar` | ||
|
||
**νμ :** `SidebarEntry[]` | ||
|
||
νμ΄μ§μ λν μ¬μ΄νΈ νμ μ¬μ΄λλ° μνΈλ¦¬μ λλ€. | ||
|
||
### `hasSidebar` | ||
|
||
**νμ :** `boolean` | ||
|
||
μ΄ νμ΄μ§μ μ¬μ΄λλ°λ₯Ό νμν μ§ μ¬λΆμ λλ€. | ||
|
||
### `pagination` | ||
|
||
**νμ :** `{ prev?: Link; next?: Link }` | ||
|
||
νμ±νλ κ²½μ° μ¬μ΄λλ°μ μ΄μ λ° λ€μ νμ΄μ§λ‘ μ΄λνλ λ§ν¬λ₯Ό νμν©λλ€. | ||
|
||
### `toc` | ||
|
||
**νμ :** `{ minHeadingLevel: number; maxHeadingLevel: number; items: TocItem[] } | undefined` | ||
|
||
νμ±νλ κ²½μ° μ΄ νμ΄μ§μ λͺ©μ°¨λ₯Ό νμν©λλ€. | ||
|
||
### `headings` | ||
|
||
**νμ :** `{ depth: number; slug: string; text: string }[]` | ||
|
||
νμ¬ νμ΄μ§μμ μΆμΆλ λͺ¨λ Markdown μ λͺ©μ λ°°μ΄μ λλ€. | ||
Starlightμ κ΅¬μ± μ΅μ μ μ€μνλ μ½ν μΈ λͺ©μ°¨ μ»΄ν¬λνΈλ₯Ό μμ±νκΈ° μν΄μλ [`toc`](#toc)λ₯Ό μ¬μ©νμΈμ. | ||
|
||
### `lastUpdated` | ||
|
||
**νμ :** `Date | undefined` | ||
|
||
νμ±νλ κ²½μ° μ΄ νμ΄μ§κ° λ§μ§λ§μΌλ‘ μ λ°μ΄νΈλ λ μ§λ₯Ό λνλ΄κΈ° μν΄ JavaScript `Date`κ°μ²΄κ° μ¬μ©λ©λλ€. | ||
|
||
### `editUrl` | ||
|
||
**νμ :** `URL | undefined` | ||
|
||
νμ±νλ κ²½μ° μ΄ νμ΄μ§λ₯Ό νΈμ§ν μ μλ μ£Όμλ₯Ό λνλ΄κΈ° μν΄ `URL` κ°μ²΄κ° μ¬μ©λ©λλ€. | ||
|
||
## μ νΈλ¦¬ν° | ||
|
||
### `defineRouteMiddleware()` | ||
|
||
`defineRouteMiddleware()` μ νΈλ¦¬ν°λ₯Ό μ¬μ©νμ¬ κ²½λ‘ λ―Έλ€μ¨μ΄ λͺ¨λμ νμ μ μ§μ νμΈμ: | ||
|
||
```ts "defineRouteMiddleware" | ||
// src/routeData.ts | ||
import { defineRouteMiddleware } from '@astrojs/starlight/route-data'; | ||
|
||
export const onRequest = defineRouteMiddleware((context) => { | ||
// ... | ||
}); | ||
``` | ||
|
||
### `StarlightRouteData` νμ | ||
|
||
Starlightμ κ²½λ‘ λ°μ΄ν°λ₯Ό μ¬μ©ν΄μΌ νλ μ½λλ₯Ό μμ±νλ κ²½μ°, `StarlightRouteData` νμ μ κ°μ Έμ `Astro.locals.starlightRoute`μ ννμ μΌμΉμν¬ μ μμ΅λλ€. | ||
|
||
λ€μ μμ μμ `usePageTitleInTOC()` ν¨μλ κ²½λ‘ λ°μ΄ν°λ₯Ό μ λ°μ΄νΈνμ¬ νμ¬ νμ΄μ§μ μ λͺ©μ λͺ©μ°¨μ 첫 λ²μ§Έ νλͺ© λ μ΄λΈλ‘ μ¬μ©νκ³ κΈ°λ³Έ "κ°μ" λ μ΄λΈμ λ체ν©λλ€. `StarlightRouteData` νμ μ μ¬μ©νλ©΄ κ²½λ‘ λ°μ΄ν° λ³κ²½ μ¬νμ΄ μ ν¨νμ§ νμΈν μ μμ΅λλ€. | ||
|
||
```ts "StarlightRouteData" | ||
// src/route-utils.ts | ||
import type { StarlightRouteData } from '@astrojs/starlight/route-data'; | ||
|
||
export function usePageTitleInTOC(starlightRoute: StarlightRouteData) { | ||
const overviewLink = starlightRoute.toc?.items[0]; | ||
if (overviewLink) { | ||
overviewLink.text = starlightRoute.entry.data.title; | ||
} | ||
} | ||
``` | ||
|
||
μ΄ ν¨μλ κ²½λ‘ λ―Έλ€μ¨μ΄μμ νΈμΆν μ μμ΅λλ€. | ||
|
||
```ts {3,6} | ||
// src/route-middleware.ts | ||
import { defineRouteMiddleware } from '@astrojs/starlight/route-data'; | ||
import { usePageTitleInTOC } from './route-utils'; | ||
|
||
export const onRequest = defineRouteMiddleware((context) => { | ||
usePageTitleInTOC(context.locals.starlightRoute); | ||
}); | ||
``` |