@unifast/highlight
Plugin syntax highlighting berbasis highlight.js untuk unifast melalui transform HAST
Ikhtisar
@unifast/highlight menyediakan syntax highlighting yang ditenagai oleh lowlight (sebuah wrapper highlight.js). Tidak seperti plugin bawaan syntect() dan treeSitter() yang menjalankan highlighting di Rust, paket ini menerapkan highlighting sebagai transform HAST JavaScript setelah kompilasi — memberi Anda akses ke ekosistem bahasa dan tema highlight.js yang luas.
Instalasi
Panduan Cepat
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 are highlighted with highlight.js CSS classesCara Kerja
Compiler Rust menghasilkan output HAST dengan blok
<pre><code>yang belum ter-highlighthastTransformdari pluginhighlight()berjalan di pohon HASTUntuk setiap elemen
<code>dengan classlanguage-*, lowlight melakukan highlight pada kode tersebutNode HAST yang sudah ter-highlight menggantikan anak-anak yang asli
Karena ini berjalan sebagai transform HAST, highlighting native Rust (syntect / treeSitter) harus dinonaktifkan. Plugin secara otomatis menetapkan highlight.enabled: false pada opsi compile.
Ringkasan Export
| Export | Jenis | Deskripsi |
|---|---|---|
highlight | function | Membuat plugin transform HAST highlight.js |