@unifast/node
Node.js-Bindung für den unifast Markdown-/MDX-Compiler, angetrieben durch natives Rust
Überblick
@unifast/node ist der primäre Einstiegspunkt für die Verwendung von unifast in Node.js. Es stellt die Funktion compile() bereit, die den nativen Rust-Compiler für maximale Performance über napi-rs aufruft. Es unterstützt außerdem das Plugin-System und ermöglicht es, HAST-Transformationen nach dem Rust-Kompilierungsschritt in JavaScript anzuwenden.
Installation
Das native Rust-Addon muss vorab gebaut werden. Führen Sie
cargo build -p unifast-bindings-node --releaseaus, falls die native Binärdatei nicht verfügbar ist.
Schnellstart
import { compile } from "@unifast/node";
const result = compile("# Hello, **world**!");
console.log(result.output);
// <h1 id="hello-world">Hello, <strong>world</strong>!</h1>Plugin-Pipeline
Werden Plugins bereitgestellt, führt compile() die folgende Pipeline aus:
Plugins extrahieren – Trennt
pluginsvom Rest der OptionenOptionen zusammenführen – Führt die
optionsjedes Plugins tief in die Kompilierungsoptionen einHAST erzwingen – Wenn ein Plugin eine
hastTransformbesitzt, verwendet der native AufrufoutputKind: "hast"Native Kompilierung – Ruft den Rust-Compiler über napi-rs auf
HAST-Transformationen – Wendet die
hastTransformjedes Plugins der Reihe nach anAusgabe konvertieren – Hat der Benutzer keine HAST-Ausgabe angefordert, wird über
hastToHtmlzurück zu HTML konvertiert
Integrierte Plugins
Die folgenden Plugin-Factory-Funktionen sind enthalten – eine separate Installation ist nicht erforderlich:
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()],
});Zusammenfassung der Exporte
| Export | Art | Beschreibung |
|---|---|---|
compile | function | Markdown/MDX zu HTML oder anderen Formaten kompilieren |
gfm, frontmatter, … | function | Integrierte Plugin-Factories (insgesamt 20) |
hastToHtml | function | HAST-zu-HTML-Serialisierer (aus @unifast/core reexportiert) |
CompileOptions | type | Kompilierungskonfiguration |
CompileResult | type | Kompilierungsergebnis |
UnifastPlugin | type | Plugin-Schnittstelle |
TocEntry | type | Inhaltsverzeichnis-Eintrag |
HastRoot | type | HAST-Wurzelknoten |
HastElement | type | HAST-Elementknoten |
HastText | type | HAST-Textknoten |
HastNode | type | Vereinigung aller HAST-Knotentypen |
UnifastError | class | Basisfehlerklasse |
ParseError | class | Parse-Fehlerklasse |
CompileError | class | Kompilier-Fehlerklasse |