unifastPlugin()

Markdown과 MDX 파일을 import 가능한 JavaScript 모듈로 변환하는 Vite 플러그인을 생성합니다.

import unifast from "@unifast/vite";

시그니처

function unifastPlugin(options?: UnifastPluginOptions): Plugin

매개변수

options?

속성타입기본값설명
mdCompileOptions{}.md 파일에 적용되는 compile 옵션
mdxCompileOptionsmd 옵션 사용.mdx 파일에 적용되는 compile 옵션. 지정하지 않으면 md로 폴백

반환값

다음을 포함하는 Vite Plugin 객체입니다.

  • name: "vite-plugin-unifast"

  • enforce: "pre" — 다른 플러그인보다 먼저 실행됩니다.

  • transform: .md / .mdx 파일을 JS 모듈로 컴파일합니다.

  • handleHotUpdate: Markdown 파일 변경 시 HMR을 트리거합니다.

사용법

// vite.config.ts
import { defineConfig } from "vite";
import unifast from "@unifast/vite";
import { gfm, frontmatter, syntect } from "@unifast/node";

export default defineConfig({
  plugins: [
    unifast({
      md: {
        plugins: [gfm(), frontmatter(), syntect()],
      },
    }),
  ],
});

예시

MD와 MDX 옵션을 분리

import unifast from "@unifast/vite";
import { gfm, frontmatter } from "@unifast/node";

export default defineConfig({
  plugins: [
    unifast({
      md: {
        plugins: [gfm(), frontmatter()],
      },
      mdx: {
        plugins: [gfm(), frontmatter()],
        // MDX 고유 옵션은 다르게 지정할 수 있습니다
      },
    }),
  ],
});

컴포넌트에서 Markdown import

import doc from "./README.md";

// doc.html — 컴파일된 HTML 문자열
// doc.frontmatter — 파싱된 frontmatter 객체
// doc.toc — 목차 항목