@unifast/shiki

透過 HAST 轉換為 unifast 提供以 Shiki 為核心的語法高亮外掛

概觀

@unifast/shiki 透過 Shiki 提供語法高亮功能,支援 200 種以上的語言與多樣的佈景主題。與內建的高亮外掛不同,Shiki 是以 JavaScript HAST 轉換的方式執行,會將 <pre><code> 區塊替換為具備完整樣式的輸出內容。

此外掛會自動停用內建的 Rust 高亮器,以避免重複處理。

安裝

型別定義

ShikiTransformerOptions

屬性型別預設值說明
themesBundledTheme[]["github-dark"]要載入的 Shiki 佈景主題
defaultThemeBundledThemethemes 中的第一個主題渲染時使用的預設主題
langsBundledLanguage[][]要載入的語言。只有已載入的語言會被高亮處理。

BundledThemeBundledLanguage 皆為 shiki 套件提供的型別。

ShikiTransformer

屬性型別說明
transform(hast: HastRoot) => HastRoot對所有 <pre><code class="language-*"> 區塊套用 Shiki 高亮

匯出列表

匯出名稱類別說明
createShikiPluginfunction建立 Shiki 版的 UnifastPlugin(非同步)
createShikiTransformerfunction建立獨立的 Shiki 轉換器(非同步)
ShikiTransformerOptionstypeShiki 設定選項
ShikiTransformertype轉換器介面
hastToHtmlfunctionHAST 轉 HTML 序列化器(重新匯出)
HastNodeHastRoottypesHAST 節點型別(重新匯出)