@unifast/highlight
HAST transforms के माध्यम से unifast के लिए highlight.js-based syntax highlighting plugin
अवलोकन
@unifast/highlight lowlight (एक highlight.js wrapper) द्वारा संचालित syntax highlighting प्रदान करता है। अंतर्निहित syntect() और treeSitter() plugins के विपरीत जो Rust में highlighting चलाते हैं, यह package compilation के बाद highlighting को एक JavaScript HAST transform के रूप में लागू करता है — जिससे आपको highlight.js के विस्तृत language और theme ecosystem तक पहुँच मिलती है।
इंस्टॉलेशन
Quick Start
import { compile } from "@unifast/node";
import { highlight } from "@unifast/highlight";
const md = `
\`\`\`javascript
const x = 42;
console.log(x);
\`\`\`
`;
const result = compile(md, {
plugins: [highlight()],
});
console.log(result.output);
// Code blocks highlight.js CSS classes के साथ highlight होते हैंयह कैसे काम करता है
Rust कंपाइलर बिना highlight किए गए
<pre><code>blocks के साथ HAST output उत्पन्न करता हैhighlight()plugin काhastTransformHAST tree को walk करता हैप्रत्येक
<code>element के लिए जिसमेंlanguage-*class है, lowlight code को highlight करता हैhighlighted HAST nodes मूल children को replace कर देते हैं
चूंकि यह एक HAST transform के रूप में चलता है, native Rust highlighting (syntect / treeSitter) को disable किया जाना चाहिए। Plugin अपने आप compile options में highlight.enabled: false set कर देता है।
Exports सारांश
| Export | Kind | विवरण |
|---|---|---|
highlight | function | एक highlight.js HAST transform plugin बनाएँ |