@unifast/shiki

Плагин подсветки синтаксиса на основе Shiki для unifast с HAST-преобразованиями

Обзор

@unifast/shiki предоставляет подсветку синтаксиса на базе Shiki с поддержкой 200+ языков и широкого набора тем. В отличие от встроенного плагина подсветки, Shiki работает как HAST-преобразование в JavaScript, заменяя блоки <pre><code> богато стилизованным выводом.

Плагин автоматически отключает встроенный подсветчик на Rust, чтобы избежать двойной обработки.

Установка

Определения типов

ShikiTransformerOptions

СвойствоТипПо умолчаниюОписание
themesBundledTheme[]["github-dark"]Темы Shiki для загрузки
defaultThemeBundledThemeПервая тема в themesТема по умолчанию для отрисовки
langsBundledLanguage[][]Языки для загрузки. Подсвечиваются только загруженные языки.

BundledTheme и BundledLanguage — это типы из пакета shiki.

ShikiTransformer

СвойствоТипОписание
transform(hast: HastRoot) => HastRootПрименяет подсветку Shiki ко всем блокам <pre><code class="language-*">

Сводка экспортов

ЭкспортВидОписание
createShikiPluginфункцияСоздаёт Shiki UnifastPlugin (асинхронно)
createShikiTransformerфункцияСоздаёт автономный трансформер Shiki (асинхронно)
ShikiTransformerOptionsтипПараметры конфигурации Shiki
ShikiTransformerтипИнтерфейс трансформера
hastToHtmlфункцияСериализатор HAST в HTML (реэкспорт)
HastNode, HastRoot, и др.типыТипы узлов HAST (реэкспорт)