@unifast/node
native Rust द्वारा संचालित unifast Markdown/MDX कंपाइलर के लिए Node.js binding
अवलोकन
@unifast/node Node.js में unifast का उपयोग करने के लिए primary entry point है। यह compile() function प्रदान करता है जो अधिकतम प्रदर्शन के लिए napi-rs के माध्यम से native Rust कंपाइलर को invoke करता है। यह plugin system को भी सपोर्ट करता है, जिससे Rust compilation step के बाद JavaScript में HAST transforms लागू किए जा सकते हैं।
इंस्टॉलेशन
native Rust addon pre-built होना चाहिए। यदि native binary उपलब्ध नहीं है तो
cargo build -p unifast-bindings-node --releaseचलाएँ।
Quick Start
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
जब plugins प्रदान किए जाते हैं, तो compile() निम्नलिखित pipeline execute करता है:
Plugins निकालें - बाकी options से
pluginsको अलग करता हैOptions merge करें - प्रत्येक plugin के
optionsको compile options में deep-merge करता हैHAST force करें - यदि किसी plugin में
hastTransformहै, तो native calloutputKind: "hast"का उपयोग करता हैNative compilation - napi-rs के माध्यम से Rust कंपाइलर को call करता है
HAST transforms - प्रत्येक plugin के
hastTransformको क्रम में लागू करता हैOutput convert करें - यदि user ने HAST output का अनुरोध नहीं किया, तो
hastToHtmlके माध्यम से HTML में वापस convert करता है
अंतर्निहित Plugins
निम्नलिखित plugin factory functions शामिल हैं — अलग से install करने की आवश्यकता नहीं है:
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()],
});Exports सारांश
| Export | Kind | विवरण |
|---|---|---|
compile | function | Markdown/MDX को HTML या अन्य formats में compile करें |
gfm, frontmatter, … | function | अंतर्निहित plugin factories (कुल 20) |
hastToHtml | function | HAST-to-HTML serializer (@unifast/core से re-exported) |
CompileOptions | type | Compilation configuration |
CompileResult | type | Compilation result |
UnifastPlugin | type | Plugin interface |
TocEntry | type | Table of contents entry |
HastRoot | type | HAST root node |
HastElement | type | HAST element node |
HastText | type | HAST text node |
HastNode | type | सभी HAST node types का union |
UnifastError | class | Base error class |
ParseError | class | Parse error class |
CompileError | class | Compile error class |