@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 --releasekomutunu ç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:
Plugin’leri ayır -
plugins‘i diğer seçeneklerden ayırırSeçenekleri birleştir - Her plugin’in
optionsdeğerini derleme seçenekleriyle derinlemesine birleştirirHAST’i zorla - Herhangi bir plugin’in
hastTransform‘u varsa, native çağrıoutputKind: "hast"kullanırNative derleme - Rust derleyicisini napi-rs aracılığıyla çağırır
HAST dönüşümleri - Her plugin’in
hastTransform‘unu sırayla uygularÇıktıyı dönüştür - Kullanıcı HAST çıktısı istemediyse,
hastToHtmlaracı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
| Export | Tür | Açıklama |
|---|---|---|
compile | function | Markdown/MDX’i HTML veya diğer biçimlere derle |
gfm, frontmatter, … | function | Dahili plugin fabrikaları (toplam 20) |
hastToHtml | function | HAST’den HTML’e serileştirici (@unifast/core‘dan yeniden export edilmiş) |
CompileOptions | type | Derleme yapılandırması |
CompileResult | type | Derleme sonucu |
UnifastPlugin | type | Plugin arayüzü |
TocEntry | type | İçindekiler tablosu girişi |
HastRoot | type | HAST kök düğümü |
HastElement | type | HAST eleman düğümü |
HastText | type | HAST metin düğümü |
HastNode | type | Tüm HAST düğüm türlerinin birleşimi |
UnifastError | class | Temel hata sınıfı |
ParseError | class | Ayrıştırma hatası sınıfı |
CompileError | class | Derleme hatası sınıfı |