{
  "url": "https://unifast.dev/it/docs/introduction/what-is-unifast/",
  "locale": "it",
  "title": "Cos'è unifast?",
  "description": "unifast è un compilatore Markdown e MDX ad alte prestazioni con core Rust. Pass integrati per GFM, sanitizzazione, evidenziazione e TOC.",
  "section": "introduction",
  "body": "unifast è un compilatore Markdown e MDX ad alte prestazioni con core Rust. Copre i principali casi d'uso di remark/rehype implementando le funzionalità direttamente come pass integrati, senza passare per la compatibilità con i plugin JS.\n\n### Perché unifast?\n\nLe toolchain Markdown tradizionali come unified/remark/rehype sono potenti, ma presentano alcuni compromessi:\n\n- **Overhead sulle prestazioni** - Le ripetute trasformazioni dell'AST in JS si sommano, soprattutto su larga scala.\n- **Coordinamento dei plugin** - Ordinamento, compatibilità e duplicazione tra decine di plugin.\n- **Nessuna funzionalità integrata** - Persino attività di base come GFM o sanitizzazione richiedono pacchetti separati.\n\nunifast adotta un approccio diverso:\n\n- **Core Rust** - Parsing, trasformazione ed emissione avvengono tutti in codice nativo.\n- **Pass integrati** - Le funzionalità più comuni (GFM, sanitizzazione, evidenziazione, TOC) sono integrate, non aggiunte a posteriori.\n- **Compilazione unica** - Una sola chiamata compila il Markdown in HTML applicando tutte le funzionalità.\n\n### Caratteristiche principali\n\n| Funzionalità | Descrizione |\n|--------------|-------------|\n| **CommonMark + GFM** | Tabelle, elenchi di attività, strikethrough, autolink, note a piè di pagina |\n| **Frontmatter** | Estrazione di metadati YAML, TOML e JSON |\n| **MDX** | Espressioni JSX e import all'interno del Markdown |\n| **Diagnostica** | Intervalli di errore precisi con mappatura riga/colonna |\n\n### Pass integrati\n\nI plugin remark/rehype più comuni sono reimplementati come pass Rust nativi. Niente npm install, niente grattacapi di ordinamento.\n\n| Pass | Descrizione |\n|------|-------------|\n| **Sanitizzazione** | Allowlist HTML basata su schema con impostazioni predefinite sicure |\n| **Evidenziazione della sintassi** | Motori intercambiabili (syntect, Shiki) |\n| **Tabella dei contenuti** | Albero dei titoli estratto automaticamente |\n\n### Supporto delle piattaforme\n\nunifast gira su più piattaforme da un unico core Rust:\n\n- **`@unifast/node`** - Binding Node.js tramite N-API (napi-rs). Target principale.\n- **`@unifast/core`** - Definizioni dei tipi TypeScript condivise tra tutti i pacchetti.\n- **`unifast` (CLI)** - Interfaccia a riga di comando per script e CI.\n- **WASM** - Supporto per browser e runtime edge (target secondario).\n\n### Obiettivi esclusi\n\nunifast **non** è un sostituto drop-in di unified. In particolare:\n\n- Non esegue i plugin JS esistenti di remark/rehype all'interno del core.\n- Non offre compatibilità API con l'ecosistema unified.\n- Non dipende dalla risoluzione dei moduli di Node nel percorso di compilazione del core.\n\nPunta invece alla **completezza sui casi d'uso**: coprire ciò di cui la maggior parte dei progetti ha bisogno senza la complessità di assemblare una pipeline di 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"
    }
  ]
}
