콘텐츠로 이동

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";

타입: (opts?: SatteriMarkdownProcessorOptions | undefined) => Promise<MarkdownRenderer>

Sätteri 기반의 독립형 Markdown 렌더러를 생성합니다. 프로젝트에 구성된 markdown.processor와 무관하게 Markdown을 렌더링해야 할 때 유용합니다.

src/utils/markdown.ts
import { createSatteriMarkdownProcessor } from "@astrojs/markdown-satteri";
const processor = await createSatteriMarkdownProcessor();
const { code, metadata } = await processor.render("# Hello world");

타입: (p: { name: string; }) => boolean

주어진 프로세서가 Sätteri인지 확인합니다. Sätteri 관련 로직을 적용하기 전에 프로세서의 유형을 확인할 때 유용합니다.

다음 예시는 통합 내에서 구성된 Markdown 프로세서가 Sätteri인지 확인합니다:

src/integrations/my-integration.ts
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 관련 로직을 적용합니다
}
},
},
};
}

타입: (options?: SatteriProcessorOptions) => MarkdownProcessor

.md와 .mdx 파일을 렌더링하기 위한 Sätteri 기반 Markdown 프로세서를 생성합니다. Markdown 렌더링 동작을 사용자 지정하려면 markdown.processor에 전달하세요.

Markdown 가이드에서 Markdown 프로세서 설정하기 및 mdast와 hast 플러그인 사용하기에 대해 자세히 알아보세요.

타입: SatteriProcessorOptions

다음 옵션을 사용하여 Sätteri 프로세서의 동작을 사용자 지정할 수 있습니다.

타입: MdastPluginList | undefined
기본값: []

Markdown이 빌드되는 방식을 사용자 지정하려면 Sätteri mdast 플러그인을 전달하세요.

다음 예시는 satteri-emoji 플러그인을 Sätteri 프로세서에 전달합니다:

astro.config.mjs
import { satteri } from "@astrojs/markdown-satteri";
import { satteriEmoji } from "satteri-emoji";
export default {
markdown: {
processor: satteri({
mdastPlugins: [satteriEmoji],
}),
},
};

타입: HastPluginList | undefined
기본값: []

Markdown 콘텐츠에서 HTML이 생성되는 방식을 사용자 지정하려면 Sätteri hast 플러그인을 전달하세요.

다음 예시는 satteri-custom-header-id 플러그인을 Sätteri 프로세서에 전달합니다:

astro.config.mjs
import { satteri } from "@astrojs/markdown-satteri";
import { satteriCustomHeaderId } from "satteri-custom-header-id";
export default {
markdown: {
processor: satteri({
hastPlugins: [satteriCustomHeaderId],
}),
},
};

타입: SatteriFeatures
기본값: {}

Sätteri에서 사용 가능한 기능을 사용자 지정합니다.

다음 속성은 Astro에서 다른 기본값을 사용합니다.

타입: boolean | object
기본값: true

곧은 따옴표를 둥근 따옴표로, 하이픈 두 개를 em 대시로, 점 세 개를 줄임표로 변환하기 위해 스마트 구두점을 사용할지 여부입니다.

비활성화하거나 Sätteri에서 지원하는 속성을 담은 구성 객체를 제공하여 동작을 사용자 지정할 수 있습니다.

다음 예시는 스마트 구두점 지원을 비활성화합니다:

astro.config.mjs
import { defineConfig } from "astro/config";
import { satteri } from "@astrojs/markdown-satteri";
export default defineConfig({
markdown: {
processor: satteri({
smartPunctuation: false,
}),
},
});
Markdown 가이드에서 스마트 구두점 구성하기에 대해 자세히 알아보세요.

타입: HastPluginEntry

Markdown 콘텐츠의 모든 제목에 대한 제목 ID를 생성하고 수집합니다. 이를 통해 Markdown 콘텐츠를 가져오거나 렌더링할 때 사용할 수 있습니다.

사용 예시는 Markdown 가이드의 제목 ID와 플러그인을 참조하세요.

다음 타입은 @astrojs/markdown-satteri에서 가져옵니다:

import type {
SatteriAstroData,
SatteriMarkdownProcessorOptions,
} from "@astrojs/markdown-satteri";

타입: { frontmatter: Record<string, any>; headings: MarkdownHeading[]; localImagePaths: Set<string>; remoteImagePaths: Set<string>; }

추가된 버전: @astrojs/markdown-satteri@0.3.1

ctx.data.astro를 통해 Sätteri 플러그인에서 사용할 수 있는 Astro 관련 데이터를 설명합니다.

타입: Record<string, any>

플러그인이 Markdown 또는 MDX 콘텐츠의 프런트매터에 주입한 속성을 포함합니다.

Markdown 가이드에서 프로그래밍 방식으로 프런트매터 수정하기에 대해 자세히 알아보세요.

타입: MarkdownHeading[]

Markdown 콘텐츠에서 수집된 제목 목록입니다.

타입: Set<string>

Markdown 콘텐츠 자체에서 참조된 로컬 이미지 경로의 배열입니다.

타입: Set<string>

Markdown 콘텐츠 자체에서 참조된 원격 이미지 경로의 배열입니다.

타입: 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 플러그인 목록입니다.

타입: SatteriFeatures

Sätteri 프로세서에서 활성화하거나 비활성화할 기능의 구성을 포함합니다.

기여하기 커뮤니티 후원하기