{
  "url": "https://unifast.dev/zh-CN/docs/introduction/what-is-unifast/",
  "locale": "zh-CN",
  "title": "什么是 unifast？",
  "description": "unifast 是一款基于 Rust 核心的高性能 Markdown 与 MDX 编译器，内置 GFM、净化、高亮、目录等处理阶段。",
  "section": "introduction",
  "body": "unifast 是一款基于 Rust 核心的高性能 Markdown 与 MDX 编译器。它通过内置处理阶段直接实现了 remark/rehype 的主流使用场景，而不是通过 JS 插件兼容层来实现。\n\n### 为什么选择 unifast？\n\nunified/remark/rehype 等传统 Markdown 工具链虽然功能强大，但也存在一些折衷：\n\n- **性能开销** —— 多次 JS AST 转换会不断累积，在大规模场景下尤为明显。\n- **插件协作** —— 数十个插件之间的执行顺序、兼容性和功能重叠都需要协调。\n- **缺少内置能力** —— 即便是 GFM 或净化这类基础功能，也需要额外安装独立的包。\n\nunifast 采用了不同的思路：\n\n- **Rust 核心** —— 解析、转换和输出全部在原生代码中完成。\n- **内置处理阶段** —— 常用特性（GFM、净化、高亮、目录）作为内置能力直接提供，而非外挂叠加。\n- **一次编译** —— 一次函数调用即可完成从 Markdown 到 HTML 的全部特性处理。\n\n### 核心特性\n\n| 特性 | 描述 |\n|---------|-------------|\n| **CommonMark + GFM** | 表格、任务列表、删除线、自动链接、脚注 |\n| **Frontmatter** | 支持 YAML、TOML 和 JSON 元数据提取 |\n| **MDX** | 在 Markdown 中使用 JSX 表达式和 import |\n| **诊断信息** | 精确的错误范围，带有行列位置映射 |\n\n### 内置处理阶段\n\n常用的 remark/rehype 插件被重新实现为原生 Rust 处理阶段。无需 npm install，也不用为执行顺序发愁。\n\n| 处理阶段 | 描述 |\n|------|-------------|\n| **净化** | 基于 schema 的 HTML 允许列表，提供安全默认值 |\n| **语法高亮** | 可插拔的引擎（syntect、Shiki） |\n| **目录** | 自动提取标题生成目录树 |\n\n### 平台支持\n\nunifast 基于单一的 Rust 核心，可运行在多个平台上：\n\n- **`@unifast/node`** —— 通过 N-API（napi-rs）提供的 Node.js 绑定。主要目标平台。\n- **`@unifast/core`** —— 在所有包之间共享的 TypeScript 类型定义。\n- **`unifast`（CLI）** —— 面向脚本和 CI 的命令行接口。\n- **WASM** —— 浏览器和边缘运行时支持（次要目标平台）。\n\n### 非目标\n\nunifast **并非** unified 的直接替代品。它不提供以下能力：\n\n- 在核心中执行现有的 remark/rehype JS 插件。\n- 与 unified 生态系统保持 API 兼容。\n- 在核心编译路径中依赖 Node 的模块解析机制。\n\n与之相对，unifast 追求的是**使用场景的完备性** —— 覆盖绝大多数项目的实际需求，而不必费心组装一条插件流水线。",
  "alternates": [
    {
      "locale": "en",
      "url": "https://unifast.dev/docs/introduction/what-is-unifast/",
      "api": "https://unifast.dev//api/docs/introduction/what-is-unifast.json"
    },
    {
      "locale": "ja",
      "url": "https://unifast.dev/ja/docs/introduction/what-is-unifast/",
      "api": "https://unifast.dev//api/ja/docs/introduction/what-is-unifast.json"
    },
    {
      "locale": "zh-CN",
      "url": "https://unifast.dev/zh-CN/docs/introduction/what-is-unifast/",
      "api": "https://unifast.dev//api/zh-CN/docs/introduction/what-is-unifast.json"
    },
    {
      "locale": "zh-TW",
      "url": "https://unifast.dev/zh-TW/docs/introduction/what-is-unifast/",
      "api": "https://unifast.dev//api/zh-TW/docs/introduction/what-is-unifast.json"
    },
    {
      "locale": "ko",
      "url": "https://unifast.dev/ko/docs/introduction/what-is-unifast/",
      "api": "https://unifast.dev//api/ko/docs/introduction/what-is-unifast.json"
    },
    {
      "locale": "fr",
      "url": "https://unifast.dev/fr/docs/introduction/what-is-unifast/",
      "api": "https://unifast.dev//api/fr/docs/introduction/what-is-unifast.json"
    },
    {
      "locale": "it",
      "url": "https://unifast.dev/it/docs/introduction/what-is-unifast/",
      "api": "https://unifast.dev//api/it/docs/introduction/what-is-unifast.json"
    },
    {
      "locale": "es",
      "url": "https://unifast.dev/es/docs/introduction/what-is-unifast/",
      "api": "https://unifast.dev//api/es/docs/introduction/what-is-unifast.json"
    },
    {
      "locale": "pt-BR",
      "url": "https://unifast.dev/pt-BR/docs/introduction/what-is-unifast/",
      "api": "https://unifast.dev//api/pt-BR/docs/introduction/what-is-unifast.json"
    },
    {
      "locale": "de",
      "url": "https://unifast.dev/de/docs/introduction/what-is-unifast/",
      "api": "https://unifast.dev//api/de/docs/introduction/what-is-unifast.json"
    },
    {
      "locale": "ru",
      "url": "https://unifast.dev/ru/docs/introduction/what-is-unifast/",
      "api": "https://unifast.dev//api/ru/docs/introduction/what-is-unifast.json"
    },
    {
      "locale": "hi",
      "url": "https://unifast.dev/hi/docs/introduction/what-is-unifast/",
      "api": "https://unifast.dev//api/hi/docs/introduction/what-is-unifast.json"
    },
    {
      "locale": "id",
      "url": "https://unifast.dev/id/docs/introduction/what-is-unifast/",
      "api": "https://unifast.dev//api/id/docs/introduction/what-is-unifast.json"
    },
    {
      "locale": "tr",
      "url": "https://unifast.dev/tr/docs/introduction/what-is-unifast/",
      "api": "https://unifast.dev//api/tr/docs/introduction/what-is-unifast.json"
    },
    {
      "locale": "vi",
      "url": "https://unifast.dev/vi/docs/introduction/what-is-unifast/",
      "api": "https://unifast.dev//api/vi/docs/introduction/what-is-unifast.json"
    }
  ]
}
