unifastPlugin()

Создаёт плагин Vite, который преобразует файлы Markdown и MDX в импортируемые JavaScript-модули.

import unifast from "@unifast/vite";

Сигнатура

function unifastPlugin(options?: UnifastPluginOptions): Plugin

Параметры

options?

СвойствоТипПо умолчаниюОписание
mdCompileOptions{}Параметры компиляции, применяемые к файлам .md
mdxCompileOptionsИспользует параметры mdПараметры компиляции, применяемые к файлам .mdx. Если не указаны, возвращается к параметрам md

Возвращаемое значение

Объект Vite Plugin со следующими полями:

  • name: "vite-plugin-unifast"

  • enforce: "pre" — запускается до других плагинов

  • transform: компилирует файлы .md / .mdx в JS-модули

  • handleHotUpdate: запускает HMR при изменении файлов Markdown

Использование

// 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 doc from "./README.md";

// doc.html — скомпилированная строка HTML
// doc.frontmatter — распарсенный объект frontmatter
// doc.toc — элементы оглавления