一个无依赖的小型 JavaScript 库,通过 HTML 属性让任意元素发起 AJAX、WebSocket 和 SSE 请求。
davatron5000/microlighter
一个零依赖的 JavaScript 语法高亮库,基于 CSS Highlight API,不为每个 token 添加 span 标签。
- Star
- 1,055
- Fork
- 33
- 未关闭 Issue
- 22
- 最近提交
- 上个月
这是什么?
MicroLighter 是一个用于网页的小型语法高亮库。它读取 TextMate 语法文件,并通过浏览器的 CSS Custom Highlight API 上色,因此代码块中不会插入大量 span 标签,标记结构保持简洁、便于编辑。压缩后约 2 KiB,没有运行时依赖。
库内置 37 种按需加载的语言和 10 套主题,主题通过 CSS 自定义属性控制配色。使用方式包括编程式的 `highlightAll()`、响应 `syntax-highlight` 事件的自动运行脚本、CDN 引入,以及可选的 `<micro-lighter>` Web 组件(支持复制按钮和行号)。
分词器直接使用浏览器原生的 RegExp,而非 Oniguruma 或 WebAssembly,因此体积很小。代价是语言覆盖和语法准确度不及 Shiki 等更完整的工具。
核心功能
- 01压缩后约 2 KiB,无运行时依赖
- 02高亮时不向 DOM 插入 token 的 span 元素
- 03基于 TextMate 语法支持 37 种按需加载的语言
- 04内置 10 套通过 CSS 自定义属性配置的主题
- 05提供编程式、自动运行和 Web 组件三种用法
- 06高亮后的代码块仍可作为纯文本编辑
适用场景
- 为文档站点或博客添加轻量的代码语法高亮
- 在可编辑的 Web 组件或浏览器内代码编辑器中高亮代码
- 希望避免 Shiki 等大型依赖、需要轻量高亮方案的项目
快速上手
- 1
安装软件包
npm install microlighter - 2
导入主题并在 JavaScript 中运行高亮器
import "microlighter/themes/github.css"; import { highlightAll } from "microlighter"; document.body.dataset.syntaxTheme = "github"; await highlightAll();
使用前须知
- 语言覆盖范围和语法准确性不及 Shiki 等更大型的工具。
- 依赖 CSS Custom Highlight API,因此浏览器必须支持该接口。
标签
常见问题
- microlighter 是什么?
- 一个零依赖的 JavaScript 语法高亮库,基于 CSS Highlight API,不为每个 token 添加 span 标签。 MicroLighter 是一个用于网页的小型语法高亮库。它读取 TextMate 语法文件,并通过浏览器的 CSS Custom Highlight API 上色,因此代码块中不会插入大量 span 标签,标记结构保持简洁、便于编辑。压缩后约 2 KiB,没有运行时依赖。
- microlighter 可以免费使用吗?用的什么许可证?
- microlighter 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
- microlighter 还在维护吗?
- 半年内有更新。microlighter 最近一次提交是在 2026年9月11日。
- microlighter 适合用来做什么?
- 为文档站点或博客添加轻量的代码语法高亮 在可编辑的 Web 组件或浏览器内代码编辑器中高亮代码 希望避免 Shiki 等大型依赖、需要轻量高亮方案的项目
- microlighter 怎么安装和运行?
- 安装软件包: npm install microlighter 导入主题并在 JavaScript 中运行高亮器: import "microlighter/themes/github.css"; import { highlightAll } from "microlighter"; document.body.dataset.syntaxTheme = "github"; await highlightAll();
- 在哪里获取 microlighter?
- 源代码和安装说明在 GitHub 上:https://github.com/davatron5000/microlighter
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
5万1697JavaScriptOther更新于 4天前
用 JavaScript、HTML 和 CSS 构建跨平台桌面应用的框架,基于 Node.js 与 Chromium。
12.3万1.8万C++MIT更新于 13小时前
一款速度极快的 JavaScript、TypeScript、JSX 和 CSS 打包工具,提供 CLI、JS 和 Go 接口。
4万1363GoMIT更新于 2个月前
基于 Tailwind CSS 的开源组件库,通过类名提供现成的 UI 组件。
4.3万1711JavaScriptMIT更新于 前天
一个用于在网页上构建交互式地图的高性能 JavaScript 库,可展示瓦片、矢量数据和标记。
1.3万3199JavaScriptBSD-2-Clause更新于 前天