unifast nedir?

unifast, Rust çekirdeğine sahip yüksek performanslı bir Markdown ve MDX derleyicisidir. GFM, temizleme, vurgulama ve TOC için dahili geçişlere sahiptir.

unifast, Rust çekirdeğine sahip yüksek performanslı bir Markdown ve MDX derleyicisidir. Özellikleri JS plugin uyumluluğu yerine doğrudan dahili geçişler olarak uygulayarak remark/rehype’ın yaygın kullanım senaryolarını kapsar.

Neden unifast?

unified/remark/rehype gibi geleneksel Markdown araç zincirleri güçlüdür ancak bazı ödünleşimleri vardır:

  • Performans yükü - Birden fazla JS AST dönüşümü, özellikle büyük ölçekte birikir.

  • Plugin koordinasyonu - Onlarca plugin arasında sıralama, uyumluluk ve tekrar sorunları.

  • Dahili özelliklerin eksikliği - GFM veya temizleme gibi temel görevler bile ayrı paketler gerektirir.

unifast farklı bir yaklaşım benimser:

  • Rust çekirdeği - Ayrıştırma, dönüştürme ve yayma işlemlerinin tamamı native kodda gerçekleşir.

  • Dahili geçişler - Yaygın özellikler (GFM, temizleme, vurgulama, TOC) sonradan eklenmiş değil dahilidir.

  • Tek derleme - Tek bir çağrı, tüm özellikler uygulanmış halde Markdown’u HTML’e derler.

Temel Özellikler

ÖzellikAçıklama
CommonMark + GFMTablolar, görev listeleri, üstü çizili metin, otomatik bağlantılar, dipnotlar
FrontmatterYAML, TOML ve JSON üst veri çıkarma
MDXMarkdown içinde JSX ifadeleri ve import’lar
TanılamalarSatır/sütun eşlemesiyle kesin hata konumları

Dahili Geçişler

Yaygın remark/rehype plugin’leri native Rust geçişleri olarak yeniden uygulanmıştır. npm install yok, sıralama zorlukları yok.

GeçişAçıklama
TemizlemeGüvenli varsayılanlarla şema tabanlı HTML izin listesi
Sözdizimi VurgulamaTakılabilir motorlar (syntect, Shiki)
İçindekiler TablosuOtomatik çıkarılan başlık ağacı

Platform Desteği

unifast, tek bir Rust çekirdeğinden birden fazla platformda çalışır:

  • @unifast/node - N-API (napi-rs) aracılığıyla Node.js bağlayıcısı. Birincil hedef.

  • @unifast/core - Tüm paketler arasında paylaşılan TypeScript tip tanımları.

  • unifast (CLI) - Scriptler ve CI için komut satırı arayüzü.

  • WASM - Tarayıcı ve edge runtime desteği (ikincil hedef).

Hedef Olmayanlar

unifast, unified için sorunsuz bir yedek değildir. Şunları yapmaz:

  • Çekirdek içinde mevcut remark/rehype JS plugin’lerini çalıştırmaz.

  • unified ekosistemiyle API uyumluluğu sağlamaz.

  • Çekirdek derleme yolunda Node’un modül çözümlemesine bağımlı olmaz.

Bunun yerine, bir plugin ardışık düzeni kurma karmaşıklığı olmadan çoğu projenin ihtiyaç duyduğu şeyleri kapsayarak kullanım senaryosu bütünlüğünü hedefler.