{
  "url": "https://unifast.dev/ja/docs/introduction/what-is-unifast/",
  "locale": "ja",
  "title": "unifast とは",
  "description": "unifast は、Rust コアを備えた高性能な Markdown / MDX コンパイラです。GFM、サニタイズ、ハイライト、TOC を組み込みパスとして提供します。",
  "section": "introduction",
  "body": "unifast は、Rust コアを備えた高性能な Markdown および MDX コンパイラです。JS プラグイン互換ではなく、機能を組み込みパスとして直接実装することで、remark/rehype の主要なユースケースをカバーします。\n\n### なぜ unifast なのか\n\nunified/remark/rehype などの従来の Markdown ツールチェーンは強力ですが、次のようなトレードオフがあります。\n\n- **パフォーマンスのオーバーヘッド** - 複数の JS AST 変換が積み重なり、特に大規模な処理で顕著になる。\n- **プラグインの調整** - 数十ものプラグイン間で順序、互換性、重複に悩まされる。\n- **組み込み機能がない** - GFM やサニタイズのような基本的な処理でも、個別のパッケージが必要となる。\n\nunifast は異なるアプローチを取っています。\n\n- **Rust コア** - パース、変換、出力のすべてをネイティブコードで実行する。\n- **組み込みパス** - よく使われる機能 (GFM、サニタイズ、ハイライト、TOC) は後付けではなく、最初から組み込まれている。\n- **単一のコンパイル** - 1 回の呼び出しで 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| **サニタイズ** | 安全なデフォルトを備えたスキーマベースの 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"
    }
  ]
}
