{
  "url": "https://unifast.dev/id/docs/introduction/what-is-unifast/",
  "locale": "id",
  "title": "Apa itu unifast?",
  "description": "unifast adalah compiler Markdown dan MDX berperforma tinggi dengan inti Rust. Pass bawaan untuk GFM, sanitasi, highlighting, dan TOC.",
  "section": "introduction",
  "body": "unifast adalah compiler Markdown dan MDX berperforma tinggi dengan inti Rust. Ia mencakup use case utama dari remark/rehype dengan mengimplementasikan fitur secara langsung sebagai pass bawaan - bukan melalui kompatibilitas plugin JS.\n\n### Mengapa unifast?\n\nToolchain Markdown tradisional seperti unified/remark/rehype sangat kuat, tetapi memiliki beberapa trade-off:\n\n- **Overhead performa** - Beberapa transformasi AST JS terakumulasi, terutama dalam skala besar.\n- **Koordinasi plugin** - Urutan, kompatibilitas, dan duplikasi di antara puluhan plugin.\n- **Tanpa fitur bawaan** - Bahkan tugas dasar seperti GFM atau sanitasi memerlukan paket terpisah.\n\nunifast mengambil pendekatan yang berbeda:\n\n- **Inti Rust** - Parsing, transformasi, dan emisi semuanya berjalan dalam kode native.\n- **Pass bawaan** - Fitur umum (GFM, sanitasi, highlighting, TOC) terintegrasi langsung, bukan ditempelkan.\n- **Kompilasi tunggal** - Satu panggilan meng-compile Markdown menjadi HTML dengan semua fitur diterapkan.\n\n### Fitur Utama\n\n| Fitur | Deskripsi |\n|---------|-------------|\n| **CommonMark + GFM** | Tabel, task list, strikethrough, autolink, footnote |\n| **Frontmatter** | Ekstraksi metadata YAML, TOML, dan JSON |\n| **MDX** | Ekspresi JSX dan import di dalam Markdown |\n| **Diagnostics** | Rentang error yang presisi dengan pemetaan baris/kolom |\n\n### Pass Bawaan\n\nPlugin remark/rehype yang umum diimplementasikan ulang sebagai pass Rust native. Tidak perlu npm install, tidak ada kerepotan pengurutan.\n\n| Pass | Deskripsi |\n|------|-------------|\n| **Sanitization** | Allowlist HTML berbasis schema dengan default yang aman |\n| **Syntax Highlighting** | Engine yang dapat dipasang (syntect, Shiki) |\n| **Table of Contents** | Pohon heading yang diekstrak secara otomatis |\n\n### Dukungan Platform\n\nunifast berjalan di berbagai platform dari satu inti Rust:\n\n- **`@unifast/node`** - Binding Node.js melalui N-API (napi-rs). Target utama.\n- **`@unifast/core`** - Definisi tipe TypeScript yang dibagikan di seluruh paket.\n- **`unifast` (CLI)** - Antarmuka command-line untuk skrip dan CI.\n- **WASM** - Dukungan runtime browser dan edge (target sekunder).\n\n### Non-goal\n\nunifast **bukan** pengganti drop-in untuk unified. Ia tidak:\n\n- Mengeksekusi plugin JS remark/rehype yang ada di dalam inti.\n- Menyediakan kompatibilitas API dengan ekosistem unified.\n- Bergantung pada module resolution Node di jalur kompilasi inti.\n\nSebaliknya, ia menargetkan **kelengkapan use case** - mencakup apa yang dibutuhkan sebagian besar proyek tanpa kompleksitas menyusun pipeline plugin.",
  "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"
    }
  ]
}
