@unifast/node

Native Rust tarafından desteklenen unifast Markdown/MDX derleyicisi için Node.js bağlayıcısı

Genel Bakış

@unifast/node, unifast’i Node.js’te kullanmak için birincil giriş noktasıdır. Maksimum performans için napi-rs aracılığıyla native Rust derleyicisini çağıran compile() fonksiyonunu sağlar. Ayrıca plugin sistemini destekleyerek HAST dönüşümlerinin Rust derleme adımından sonra JavaScript’te uygulanmasına izin verir.

Kurulum

Native Rust eklentisi önceden derlenmiş olmalıdır. Native ikili dosya mevcut değilse cargo build -p unifast-bindings-node --release komutunu çalıştırın.

Hızlı Başlangıç

import { compile } from "@unifast/node";

const result = compile("# Hello, **world**!");
console.log(result.output);
// <h1 id="hello-world">Hello, <strong>world</strong>!</h1>

Plugin Ardışık Düzeni

Plugin’ler sağlandığında, compile() aşağıdaki ardışık düzeni yürütür:

  1. Plugin’leri ayır - plugins‘i diğer seçeneklerden ayırır

  2. Seçenekleri birleştir - Her plugin’in options değerini derleme seçenekleriyle derinlemesine birleştirir

  3. HAST’i zorla - Herhangi bir plugin’in hastTransform‘u varsa, native çağrı outputKind: "hast" kullanır

  4. Native derleme - Rust derleyicisini napi-rs aracılığıyla çağırır

  5. HAST dönüşümleri - Her plugin’in hastTransform‘unu sırayla uygular

  6. Çıktıyı dönüştür - Kullanıcı HAST çıktısı istemediyse, hastToHtml aracılığıyla HTML’e geri dönüştürür

Dahili Plugin’ler

Aşağıdaki plugin fabrika fonksiyonları dahildir — ayrı bir kurulum gerekmez:

gfm, frontmatter, sanitize, syntect, treeSitter, toc, externalLinks, autolinkHeadings, smartypants, wikiLink, codeImport, emoji, breaks, math, githubAlert, sectionize, directive, definitionList, rubyAnnotation, cjk

import { compile, gfm, frontmatter, syntect } from "@unifast/node";

const result = compile(source, {
  plugins: [gfm(), frontmatter(), syntect()],
});

Export Özeti

ExportTürAçıklama
compilefunctionMarkdown/MDX’i HTML veya diğer biçimlere derle
gfm, frontmatter, …functionDahili plugin fabrikaları (toplam 20)
hastToHtmlfunctionHAST’den HTML’e serileştirici (@unifast/core‘dan yeniden export edilmiş)
CompileOptionstypeDerleme yapılandırması
CompileResulttypeDerleme sonucu
UnifastPlugintypePlugin arayüzü
TocEntrytypeİçindekiler tablosu girişi
HastRoottypeHAST kök düğümü
HastElementtypeHAST eleman düğümü
HastTexttypeHAST metin düğümü
HastNodetypeTüm HAST düğüm türlerinin birleşimi
UnifastErrorclassTemel hata sınıfı
ParseErrorclassAyrıştırma hatası sınıfı
CompileErrorclassDerleme hatası sınıfı