@unifast/react

unifast HAST çıktısını bileşen eşlemesiyle React elemanlarına dönüştürün

Genel Bakış

@unifast/react, unifast HAST (HTML Soyut Sözdizimi Ağacı) çıktısını React elemanlarına dönüştürür. İki ana fonksiyon sağlar:

  • compileToReact() - Yüksek seviyeli: Markdown/MDX’i derler ve doğrudan React elemanları döndürür

  • hastToReact() - Düşük seviyeli: bir HAST ağacını React elemanlarına dönüştürür

Paket, HTML’den React’e özellik yeniden adlandırmasını (classclassName, forhtmlFor, vb.) ve CSS stil string ayrıştırmasını otomatik olarak yönetir.

Kurulum

Peer bağımlılık: compileToReact için @unifast/node gereklidir.

Tip Tanımları

CompileToReactOptions

CompileOptions‘ı React’e özgü alanlarla genişletir.

ÖzellikTürAçıklama
createElementCreateElementReact’in createElement fonksiyonu
FragmentunknownReact’in Fragment bileşeni
components?ComponentMapHTML etiket adlarının React bileşenlerine eşlemesi
(tüm CompileOptions)-CompileOptions‘tan devralınmıştır

CompileToReactResult

ÖzellikTürAçıklama
elementunknownKök React elemanı
frontmatterRecord<string, unknown>Ayrıştırılmış frontmatter üst verisi
diagnosticsDiagnostic[]Uyarılar ve hatalar
stats{ parseMs, transformMs, emitMs }Zamanlama dökümü (ms)
tocTocEntry[]Çıkarılan içindekiler tablosu

HastToReactOptions

ÖzellikTürAçıklama
createElementCreateElementReact’in createElement fonksiyonu
FragmentunknownReact’in Fragment bileşeni
components?ComponentMapHTML etiket adlarının özel React bileşenlerine eşlemesi

CreateElement

type CreateElement = (type: any, props: any, ...children: any[]) => any;

ComponentMap

type ComponentMap = Record<string, unknown>;

Özellik Dönüşümü

HTML ÖzniteliğiReact Prop
classclassName
forhtmlFor
accesskeyaccessKey
autocompleteautoComplete
autofocusautoFocus
autoplayautoPlay
charsetcharSet
colspancolSpan
contenteditablecontentEditable
crossorigincrossOrigin
datetimedateTime
enctypeencType
formactionformAction
hreflanghrefLang
httpequivhttpEquiv
inputmodeinputMode
maxlengthmaxLength
minlengthminLength
novalidatenoValidate
readonlyreadOnly
referrerpolicyreferrerPolicy
rowspanrowSpan
spellcheckspellCheck
srcdocsrcDoc
srclangsrcLang
srcsetsrcSet
tabindextabIndex
usemapuseMap

CSS style string’leri otomatik olarak React stil nesnelerine ayrıştırılır (örn. "font-size: 16px"{ fontSize: "16px" }).

Export Özeti

ExportTürAçıklama
compileToReactfunctionMarkdown/MDX’i React elemanlarına derle
hastToReactfunctionHAST’i React elemanlarına dönüştür
CompileToReactOptionstypecompileToReact için seçenekler
CompileToReactResulttypecompileToReact sonucu
HastToReactOptionstypehastToReact için seçenekler
CreateElementtypeReact createElement imzası
ComponentMaptypeHTML etiketten bileşene eşleme