@unifast/shiki

Plugin de syntax highlighting baseado em Shiki para o unifast com transformações HAST

Visão Geral

O @unifast/shiki fornece syntax highlighting usando o Shiki, suportando mais de 200 linguagens e uma ampla variedade de temas. Diferente do plugin de highlight integrado, o Shiki roda como uma transformação HAST em JavaScript, substituindo blocos <pre><code> por uma saída ricamente estilizada.

O plugin desabilita automaticamente o highlighter Rust integrado para evitar processamento duplicado.

Instalação

Definições de Tipos

ShikiTransformerOptions

PropriedadeTipoPadrãoDescrição
themesBundledTheme[]["github-dark"]Temas Shiki a carregar
defaultThemeBundledThemePrimeiro tema em themesTema padrão para renderização
langsBundledLanguage[][]Linguagens a carregar. Apenas linguagens carregadas terão highlighting.

BundledTheme e BundledLanguage são tipos do pacote shiki.

ShikiTransformer

PropriedadeTipoDescrição
transform(hast: HastRoot) => HastRootAplica o highlighting do Shiki em todos os blocos <pre><code class="language-*">

Resumo de Exports

ExportTipoDescrição
createShikiPluginfunctionCria um UnifastPlugin do Shiki (async)
createShikiTransformerfunctionCria um transformer Shiki standalone (async)
ShikiTransformerOptionstypeOpções de configuração do Shiki
ShikiTransformertypeInterface do transformer
hastToHtmlfunctionSerializador de HAST para HTML (re-exportado)
HastNode, HastRoot, etc.typesTipos de nós HAST (re-exportados)