@unifast/shiki
HAST 변환을 사용하는 unifast용 Shiki 기반 구문 강조 플러그인
개요
@unifast/shiki는 Shiki로 구동되는 구문 강조를 제공하며, 200개 이상의 언어와 다양한 테마를 지원합니다. 빌트인 강조 플러그인과 달리 Shiki는 JavaScript의 HAST 변환으로 동작하여 <pre><code> 블록을 풍부하게 스타일링된 출력으로 대체합니다.
이 플러그인은 중복 처리를 피하기 위해 빌트인 Rust 강조기를 자동으로 비활성화합니다.
설치
타입 정의
ShikiTransformerOptions
| 속성 | 타입 | 기본값 | 설명 |
|---|---|---|---|
themes | BundledTheme[] | ["github-dark"] | 로드할 Shiki 테마 |
defaultTheme | BundledTheme | themes의 첫 번째 | 렌더링에 사용할 기본 테마 |
langs | BundledLanguage[] | [] | 로드할 언어. 로드된 언어만 강조됩니다. |
BundledTheme과BundledLanguage는shiki패키지의 타입입니다.
ShikiTransformer
| 속성 | 타입 | 설명 |
|---|---|---|
transform | (hast: HastRoot) => HastRoot | 모든 <pre><code class="language-*"> 블록에 Shiki 강조를 적용 |
Exports 요약
| Export | 종류 | 설명 |
|---|---|---|
createShikiPlugin | function | Shiki UnifastPlugin 생성 (비동기) |
createShikiTransformer | function | 단독 Shiki 트랜스포머 생성 (비동기) |
ShikiTransformerOptions | type | Shiki 설정 옵션 |
ShikiTransformer | type | 트랜스포머 인터페이스 |
hastToHtml | function | HAST-to-HTML 시리얼라이저 (재수출) |
HastNode, HastRoot, 등. | types | HAST 노드 타입 (재수출) |