{
  "url": "https://unifast.dev/zh-TW/docs/introduction/what-is-unifast/",
  "locale": "zh-TW",
  "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 安裝，也不必煩惱執行順序。\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相對地，它著重於**使用情境的完整性**──涵蓋大多數專案所需的功能，而不必費心組合外掛管線。",
  "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"
    }
  ]
}
