@unifast/highlight
HAST dönüşümleri aracılığıyla unifast için highlight.js tabanlı sözdizimi vurgulama plugin'i
Genel Bakış
@unifast/highlight, lowlight (bir highlight.js sarmalayıcısı) tarafından desteklenen sözdizimi vurgulaması sağlar. Vurgulamayı Rust’ta çalıştıran dahili syntect() ve treeSitter() plugin’lerinden farklı olarak, bu paket vurgulamayı derlemeden sonra bir JavaScript HAST dönüşümü olarak uygular — bu da size highlight.js’in geniş dil ve tema ekosistemine erişim sağlar.
Kurulum
Hızlı Başlangıç
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);
// Kod blokları highlight.js CSS sınıflarıyla vurgulanırNasıl Çalışır
Rust derleyicisi, vurgulanmamış
<pre><code>blokları ile HAST çıktısı üretirhighlight()plugin’ininhastTransform‘u HAST ağacında dolaşırlanguage-*sınıfına sahip her<code>elemanı için lowlight kodu vurgularVurgulanmış HAST düğümleri orijinal alt düğümlerin yerini alır
Bu bir HAST dönüşümü olarak çalıştığından, native Rust vurgulama (syntect / treeSitter) devre dışı bırakılmalıdır. Plugin, derleme seçeneklerinde otomatik olarak highlight.enabled: false ayarını yapar.
Export Özeti
| Export | Tür | Açıklama |
|---|---|---|
highlight | function | highlight.js HAST dönüşüm plugin’i oluştur |