@unifast/react

component mapping के साथ unifast HAST output को React elements में convert करें

अवलोकन

@unifast/react unifast HAST (HTML Abstract Syntax Tree) output को React elements में convert करता है। यह दो main functions प्रदान करता है:

  • compileToReact() - High-level: Markdown/MDX compile करें और सीधे React elements return करें

  • hastToReact() - Low-level: एक HAST tree को React elements में convert करें

Package अपने आप HTML-to-React property renaming (class से className, for से htmlFor, आदि) और CSS style string parsing handle करता है।

इंस्टॉलेशन

Peer dependency: compileToReact के लिए @unifast/node आवश्यक है।

Type Definitions

CompileToReactOptions

React-specific fields के साथ CompileOptions को extend करता है।

PropertyTypeविवरण
createElementCreateElementReact का createElement function
FragmentunknownReact का Fragment component
components?ComponentMapHTML tag names का React components पर map
(सभी CompileOptions)-CompileOptions से Inherited

CompileToReactResult

PropertyTypeविवरण
elementunknownroot React element
frontmatterRecord<string, unknown>Parsed frontmatter metadata
diagnosticsDiagnostic[]Warnings और errors
stats{ parseMs, transformMs, emitMs }Timing breakdown (ms)
tocTocEntry[]निकाला गया table of contents

HastToReactOptions

PropertyTypeविवरण
createElementCreateElementReact का createElement function
FragmentunknownReact का Fragment component
components?ComponentMapHTML tag names का custom React components पर map

CreateElement

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

ComponentMap

type ComponentMap = Record<string, unknown>;

Property Conversion

HTML AttributeReact 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 strings अपने आप React style objects में parse होती हैं (जैसे, "font-size: 16px" { fontSize: "16px" } बन जाता है)।

Exports सारांश

ExportKindविवरण
compileToReactfunctionMarkdown/MDX को React elements में compile करें
hastToReactfunctionHAST को React elements में convert करें
CompileToReactOptionstypecompileToReact के लिए Options
CompileToReactResulttypecompileToReact का Result
HastToReactOptionstypehastToReact के लिए Options
CreateElementtypeReact createElement signature
ComponentMaptypeHTML tag से component map