引言
Shikiji 式辞 是一个基于 TextMate 语法和主题的漂亮而强大的语法高亮器,与 VS Code 的语法高亮引擎相同。为几乎所有主流编程语言提供非常准确和快速的语法高亮。
无需维护自定义正则表达式,无需维护自定义 CSS,无需维护自定义 HTML。随着 VS Code 中您喜欢的语言和主题的发展,语法突出显示也会发生变化。
Shikiji 是基于 Shiki 用 ESM 语法重写,并有很多改进。 我们的目标是将这个项目合并回 Shiki 作为里程碑式的更新。如果要迁移,则对 Shiki 和兼容性版本进行重大更改。
关于这个名字, 式辞 是一个日语单词,礼仪致辞的意思。 式 继承自 shiki 意思是 “风格“ , 辞 的意思是 “字“.
哦,顺便说一句,正如您所期望的那样,本文档中的代码块由 Shikiji 突出显示 :)
特性
- 所有语法/主题/wasm 作为纯 ESM,不再有 CDN,不再有assets。
- 便携式。不依赖于 Node.js API 或文件系统,适用于任何现代 JavaScript 运行时。
- 仅限 ESM (CDN 用法, CJS 用法)
- 组合式捆绑语言/主题
- 浅色/深色主题支持
- 基于 AST 的转换器插件
- 支持
hast
- TypeScript TwoSlash 支持(TS 编译语法提示)
- 与 Shiki 兼容的构建
演练场
这里有一个小游乐场,供您尝试 Shikiji 如何高亮展示您的代码。与在生成时运行的其他代码块不同,此 演练场在浏览器的客户端呈现。主题和语言是按需加载的。
- TypeScript
- Vitesse Dark
TypeScriptVitesse Dark
演练场
安装 Shikiji 在您的项目中使用它。
谁正在用?
依赖于 Shikiji 的项目(按字母顺序排序):
捆绑包大小
您可以在 pkg-size.dev/shikiji 上查看详细捆绑包大小。 截至 v0.9.11
2023 年 12 月 21 日:
包 | 体积 (压缩) | 体积 (gzip) | 说明 |
---|---|---|---|
shikiji | 6.4 MB | 1.2 MB | 所有主题和语言作为异步块 |
shikiji/bundle/full | 6.4 MB | 1.2 MB | 同上 shikiji |
shikiji/bundle/web | 3.8 MB | 695 KB | 所有主题和常见的 Web 语言都作为异步块 |
shikiji/core | 100 KB | 31 KB | 没有任何主题或语言的核心引擎,自行编写 |
shikiji/wasm | 623 KB | 231 KB | WASM 二进制文件内联为 base64 字符串 |