Sätteri API 참조
추가된 버전:
astro@6.4.0
Sätteri는 Astro의 기본 Markdown 프로세서입니다. @astrojs/markdown-satteri 패키지는 선택 사항이며, Sätteri 관련 기능과 플러그인을 활성화하기 위해 설치할 수 있습니다. 또한 통합이나 플러그인을 만들 때 유용한 헬퍼와 타입 집합을 제공합니다.
기능과 사용 예시는 Markdown 가이드의 Markdown 프로세서를 참조하세요.
@astrojs/markdown-satteri에서 가져오기
섹션 제목: “@astrojs/markdown-satteri에서 가져오기”다음 헬퍼는 @astrojs/markdown-satteri에서 가져옵니다:
import { createSatteriMarkdownProcessor, isSatteriProcessor, satteri, satteriHeadingIdsPlugin,} from "@astrojs/markdown-satteri";createSatteriMarkdownProcessor()
섹션 제목: “createSatteriMarkdownProcessor()”타입: (opts?: SatteriMarkdownProcessorOptions | undefined) => Promise<MarkdownRenderer>
Sätteri 기반의 독립형 Markdown 렌더러를 생성합니다. 프로젝트에 구성된 markdown.processor와 무관하게 Markdown을 렌더링해야 할 때 유용합니다.
import { createSatteriMarkdownProcessor } from "@astrojs/markdown-satteri";
const processor = await createSatteriMarkdownProcessor();const { code, metadata } = await processor.render("# Hello world");isSatteriProcessor()
섹션 제목: “isSatteriProcessor()”타입: (p: { name: string; }) => boolean
주어진 프로세서가 Sätteri인지 확인합니다. Sätteri 관련 로직을 적용하기 전에 프로세서의 유형을 확인할 때 유용합니다.
다음 예시는 통합 내에서 구성된 Markdown 프로세서가 Sätteri인지 확인합니다:
import { isSatteriProcessor } from "@astrojs/markdown-satteri";import type { AstroIntegration } from "astro";
export default function myIntegration(): AstroIntegration { return { name: "my-integration", hooks: { "astro:config:done": ({ config }) => { if (isSatteriProcessor(config.markdown.processor)) { // 여기에 Sätteri 관련 로직을 적용합니다 } }, }, };}satteri()
섹션 제목: “satteri()”타입: (options?: SatteriProcessorOptions) => MarkdownProcessor
.md와 .mdx 파일을 렌더링하기 위한 Sätteri 기반 Markdown 프로세서를 생성합니다. Markdown 렌더링 동작을 사용자 지정하려면 markdown.processor에 전달하세요.
타입: SatteriProcessorOptions
다음 옵션을 사용하여 Sätteri 프로세서의 동작을 사용자 지정할 수 있습니다.
options.mdastPlugins
섹션 제목: “options.mdastPlugins”타입: MdastPluginList | undefined
기본값: []
Markdown이 빌드되는 방식을 사용자 지정하려면 Sätteri mdast 플러그인을 전달하세요.
다음 예시는 satteri-emoji 플러그인을 Sätteri 프로세서에 전달합니다:
import { satteri } from "@astrojs/markdown-satteri";import { satteriEmoji } from "satteri-emoji";
export default { markdown: { processor: satteri({ mdastPlugins: [satteriEmoji], }), },};options.hastPlugins
섹션 제목: “options.hastPlugins”타입: HastPluginList | undefined
기본값: []
Markdown 콘텐츠에서 HTML이 생성되는 방식을 사용자 지정하려면 Sätteri hast 플러그인을 전달하세요.
다음 예시는 satteri-custom-header-id 플러그인을 Sätteri 프로세서에 전달합니다:
import { satteri } from "@astrojs/markdown-satteri";import { satteriCustomHeaderId } from "satteri-custom-header-id";
export default { markdown: { processor: satteri({ hastPlugins: [satteriCustomHeaderId], }), },};options.features
섹션 제목: “options.features”타입: SatteriFeatures
기본값: {}
Sätteri에서 사용 가능한 기능을 사용자 지정합니다.
다음 속성은 Astro에서 다른 기본값을 사용합니다.
options.features.smartPunctuation
섹션 제목: “options.features.smartPunctuation”타입: boolean | object
기본값: true
곧은 따옴표를 둥근 따옴표로, 하이픈 두 개를 em 대시로, 점 세 개를 줄임표로 변환하기 위해 스마트 구두점을 사용할지 여부입니다.
비활성화하거나 Sätteri에서 지원하는 속성을 담은 구성 객체를 제공하여 동작을 사용자 지정할 수 있습니다.
다음 예시는 스마트 구두점 지원을 비활성화합니다:
import { defineConfig } from "astro/config";import { satteri } from "@astrojs/markdown-satteri";
export default defineConfig({ markdown: { processor: satteri({ smartPunctuation: false, }), },});satteriHeadingIdsPlugin()
섹션 제목: “satteriHeadingIdsPlugin()”타입: HastPluginEntry
Markdown 콘텐츠의 모든 제목에 대한 제목 ID를 생성하고 수집합니다. 이를 통해 Markdown 콘텐츠를 가져오거나 렌더링할 때 사용할 수 있습니다.
@astrojs/markdown-satteri 타입
섹션 제목: “@astrojs/markdown-satteri 타입”다음 타입은 @astrojs/markdown-satteri에서 가져옵니다:
import type { SatteriAstroData, SatteriMarkdownProcessorOptions,} from "@astrojs/markdown-satteri";SatteriAstroData
섹션 제목: “SatteriAstroData”타입: { frontmatter: Record<string, any>; headings: MarkdownHeading[]; localImagePaths: Set<string>; remoteImagePaths: Set<string>; }
@astrojs/markdown-satteri@0.3.1
ctx.data.astro를 통해 Sätteri 플러그인에서 사용할 수 있는 Astro 관련 데이터를 설명합니다.
SatteriAstroData.frontmatter
섹션 제목: “SatteriAstroData.frontmatter”타입: Record<string, any>
플러그인이 Markdown 또는 MDX 콘텐츠의 프런트매터에 주입한 속성을 포함합니다.
SatteriAstroData.headings
섹션 제목: “SatteriAstroData.headings”타입: MarkdownHeading[]
Markdown 콘텐츠에서 수집된 제목 목록입니다.
SatteriAstroData.localImagePaths
섹션 제목: “SatteriAstroData.localImagePaths”타입: Set<string>
Markdown 콘텐츠 자체에서 참조된 로컬 이미지 경로의 배열입니다.
SatteriAstroData.remoteImagePaths
섹션 제목: “SatteriAstroData.remoteImagePaths”타입: Set<string>
Markdown 콘텐츠 자체에서 참조된 원격 이미지 경로의 배열입니다.
SatteriMarkdownProcessorOptions
섹션 제목: “SatteriMarkdownProcessorOptions”타입: AstroMarkdownOptions & { mdastPlugins?: MdastPluginList; hastPlugins?: HastPluginList; features?: SatteriFeatures; }
Markdown 프로세서 구성을 설명합니다. 모든 markdown 옵션과 다음 내용이 포함됩니다.
SatteriMarkdownProcessorOptions.mdastPlugins
섹션 제목: “SatteriMarkdownProcessorOptions.mdastPlugins”타입: MdastPluginList
프로세서에 전달할 Sätteri mdast 플러그인 목록입니다.
SatteriMarkdownProcessorOptions.hastPlugins
섹션 제목: “SatteriMarkdownProcessorOptions.hastPlugins”타입: HastPluginList
프로세서에 전달할 Sätteri hast 플러그인 목록입니다.
SatteriMarkdownProcessorOptions.features
섹션 제목: “SatteriMarkdownProcessorOptions.features”타입: SatteriFeatures
Sätteri 프로세서에서 활성화하거나 비활성화할 기능의 구성을 포함합니다.
Reference