@unifast/shiki

Plugin de resaltado de sintaxis para unifast basado en Shiki con transformaciones HAST

Visión general

@unifast/shiki proporciona resaltado de sintaxis impulsado por Shiki, con soporte para más de 200 lenguajes y una amplia variedad de temas. A diferencia del plugin de resaltado integrado, Shiki se ejecuta como una transformación HAST en JavaScript, reemplazando los bloques <pre><code> por una salida con estilos detallados.

El plugin desactiva automáticamente el resaltador nativo en Rust para evitar un doble procesamiento.

Instalación

Definiciones de tipos

ShikiTransformerOptions

PropiedadTipoPor defectoDescripción
themesBundledTheme[]["github-dark"]Temas de Shiki a cargar
defaultThemeBundledThemePrimer tema en themesTema por defecto para el renderizado
langsBundledLanguage[][]Lenguajes a cargar. Solo se resaltarán los lenguajes cargados.

BundledTheme y BundledLanguage son tipos del paquete shiki.

ShikiTransformer

PropiedadTipoDescripción
transform(hast: HastRoot) => HastRootAplica el resaltado de Shiki a todos los bloques <pre><code class="language-*">

Resumen de exports

ExportTipoDescripción
createShikiPluginfunctionCrea un UnifastPlugin con Shiki (async)
createShikiTransformerfunctionCrea un transformador independiente de Shiki (async)
ShikiTransformerOptionstypeOpciones de configuración de Shiki
ShikiTransformertypeInterfaz del transformador
hastToHtmlfunctionSerializador de HAST a HTML (reexportado)
HastNode, HastRoot, etc.typesTipos de nodo HAST (reexportados)