@adea-ai/themes

中文文档
0.11.6发布于 2026/11/03Apache-2.0TypeScriptES Module零依赖近 30 天下载 4.9万

Adea主题目录:首发和导入的语义学OKLCH主题,有Base24,终端,CSS和语法适配器.

中文使用文档
文档目录9 节
  1. 目录
  2. 用这个
  3. 设计,在四个决定中
  4. Base24是一座桥,不是计划
  5. 适配器
  6. 处理中
  7. 从两个调色板组成主题
  8. 添加主题
  9. 许可证

@adea-ai/主题

Adea主题目录. 三十四个主题——每个主题都是OKLCH主题 完整的语义表面角色集,十六个ANSI颜色,一个光标和一个选择—— 包括第一党Adea调色板和成熟的上游调色板 同样的适配器.

bun add @adea-ai/themes

目录

家属备选案文
行动暗色、暗色盲、暗高对比、亮相、淡色盲、淡高对比
阿尔德瓦尔克墨水, 蓝色
猫头鹰拉特、弗拉佩、马克奇亚托、莫查
东京之夜白天,风暴,夜晚
罗塞松黎明、月亮、主线
格鲁弗盒光, 暗色( 暗色)
永远的森林光, 暗色( 暗色)
阿难光明、幻影、黑暗
太阳能化光, 暗色( 暗色)
莫诺凯经典
北部北, 光线
德古拉, (中文(简体) ), 一个黑暗, (中文(简体) ), 神奈川岛, (中文(简体) ), 韦斯珀每人一个

六个 行动 变体为被管理的家庭——两个外表×3 无障碍的变体——它们都是 编 成 从上游调色板 而不是编写或复制:

备选案文画布头口音
暗号GitHub 暗暗默认, 重现灰色GitHub 黑暗默认它的紫外线
深色盲动同样的回眼画布GitHub 暗色盲变它的紫外线
Adea 暗高对比度GitHub 黑暗高对比度, 重现灰心GitHub 暗高对比度它的紫外线
事业之光GitHub 光线默认 #ffffffGitHub 黑暗默认, 已移植它的紫外线
Adea 浅色盲GitHub 浅色盲 #ffffffGitHub 暗色盲, 已移植它的紫外线
Adea 轻高对比度GitHub 光高对比度GitHub 暗高对比度, 已移植它的紫外线

重用是全家定制的: GitHub 的深灰色缩放被剪去 蓝色( b)h≈258),因此其染色体被减半并被回旋至紫灰色-- 家庭的紫外口音是用来读的 笼子没有动过 (GitHub的深色调色板仍为GitHub),可访问变体是构件 gitHub自己的无障碍变体 每一个光变体都是阴暗的 对应方的色调被移植到纸张上,所以在两种模式中,一个红色是相同的红色 变体和切换外观会改变轻而无其他. tests/provenance.test.ts (a) 声称合伙关系—— 相同的血清和铬 一个变体的两个外观上 每一个相色相的作用 被重新剪接的画布, 和紫罗兰口音 所有6.

其他主题转载了别人的调色板 从一个命名的修订,是 贷记 通知。 。 。 .

用这个

对于需要调色板的应用程序,直接导入其生成的模块:

import theme from '@adea-ai/themes/themes/adea-dark'
import { toXtermTheme } from '@adea-ai/themes/adapters/xterm'

terminal.options.theme = toXtermTheme(theme)

此切入点不加载目录, 其他调色板, 或正常化 . @adea-ai/themes/metadata 出口 themeMetadata,包含 身份、家庭、外貌、描述、标记和出处,没有调色板 数值。 通过动态导入的静态映射来装入所选调色板 应用程序捆绑器可以创建单独的块. 下面的完整目录 API 在需要每个调色板时仍可使用.

所有JavaScript导出都使用具有明确相对文件扩展名的本土无害环境管理. 阴影适配器在 @adea-ai/themes/adapters/shadcn。 。 。 . tests/package.test.ts 建立并包装实际档案,解决其公开问题 并检查单主题浏览器捆绑是否排除其他 调色板和目录工具。 它的16KiB未压缩的天花板 叶子前厅 用于一个记录和终端适配器,同时检测目录是否包含. 此软件包仍然没有运行时间依赖性 .

import { getTheme, themeFamilies, resolveTheme } from '@adea-ai/themes'
import { themeCssVariables } from '@adea-ai/themes/adapters/css'
import { toXtermTheme } from '@adea-ai/themes/adapters/xterm'
import { toShikiTheme } from '@adea-ai/themes/adapters/shiki'

// Apply a theme to the document.
const theme = resolveTheme('catppuccin-mocha', 'dark')
for (const [name, value] of Object.entries(themeCssVariables(theme))) {
  document.documentElement.style.setProperty(name, value)
}

// Colour a terminal.
terminal.options.theme = toXtermTheme(theme)

// Register a syntax theme.
const highlighter = await createHighlighter({ themes: [toShikiTheme(theme)], langs: [...] })

syntaxRolesHex(theme) 将评论保留在目录中 故意安静的默认值. 对于评论和diff标记为小内容文本的编辑调色板, editorRolesHex(theme) 返回每个四舍五入的十六进制值的编辑器角色 相对4.5:1的对比底. 源语法调色板不变.

每个导出的主题值都是 oklch() 字符串,表示浏览器执行 彩色工作,消费者可以作曲—— color-mix(in oklch, var(--adea-accent), transparent 20%) - 并获得可预测的结果。 需要六分位数的适配器( Xterm, 施基)皈依,游戏绘画而不是剪辑.

设计,在四个决定中

Adea拥有斯图和变相. 17个表面角色在 src/schema.ts 是合同。 没有要求上游项目满足要求. palettes/ 持有根据固定修订案复制的Base24计划 src/normalize.ts 是一个输入成为 cononical 应用程序主题的单一位置. 添加主题为行 src/sources.ts 还要重建.

主题也可能是: 由两个捐助者组成 一个提供结构,另一个 胡同——爱德华自己的六个主题都是如此构建的. 组成是插槽 地图在 COMPOSED_SOURCES所以父母都留下名字 重新洗刷 单行 diff 而不是重写 。 组合也可以声明 hueTranspose,将借入的色调套件移动到不同的画布上作为 组:hue和chroma 完好无损,每个相对的亮度都保留了下来.

OKLCH是代表人物. 概念上统一的光度是 可以通过添加固定的阶梯来建立表面阶梯, 对比性故障可以通过 移动一轴, 和一个主题可以重排 而不重建它的坡道 通过眼睛.

对比是测量的,而不是假设的. 没有清空,没有输入目录 定义的下限 src/policy.ts 检查 src/validate.ts,以及 bun run catalogue:build 如果主题失败 无法在预算范围内修复 。 管道发现真正的缺陷 手写的目录本来可以运出:

  • 太阳光体正文在自身背景上测量4.28:1——由WCAG AA.
  • 东京之夜的黑色是1.17: 1对它的帆布,和Gruvbox Light's white 曾经 将Base24的灰度反射的光线方案 斜坡.
  • Everforest Light在自己的画布上没有超过 2.6:1的颜色,所以它的地位 重音作用必须深化,而不是作为出版物使用.

衍生出出出自出自相. 语法角色、图表序列和状态填充 主题的功能src/derive.ts因此,两个消费者不能 关键词是什么颜色有分歧.

Base24是一座桥,不是计划

Base24是一种极佳的交换格式和较差的应用程序计划:它有一个 表示已贬值的 API 的颜色的插槽, 且没有“ 表面一步” 的意思 在卡片上方"。 因此,Base24是价值如何得到 内 和他们如何得到 关闭数字 :

import { toBase24, formatBase24Scheme, parseBase24Scheme } from '@adea-ai/themes'
import { getBase24Scheme } from '@adea-ai/themes'

formatBase24Scheme(toBase24(getTheme('nord')!)) // a Base24 scheme
getBase24Scheme('nord') // the vendored original, untouched

toBase24 base24的橙色和棕色花槽,因为Adea的图案没有 发挥它们的作用; getBase24Scheme 返回复制的艺名,供调用者使用 需要它的字节换字节。 地图记载于 src/adapters/base24.ts。 。 。 .

适配器

导入对于产出
adapters/css申请OKLCH 中的 CSS 自定义属性
adapters/tailwind申请a 尾风 v4 @theme inline 块
adapters/shadcn此 ogg 组件阴影词汇,来自同一来源
adapters/xterm弹壳xterm.js 仅限六进制 ITheme
adapters/shiki代码视图a Shiki主题注册
adapters/base24接口Base24,双向

暗影桥在读代码前值得了解: Adea's accent 成为阴影 primary,因为阴影 --primary 是动作颜色和 --accent 是个花花公子 将每个主按钮都灰了. 地图在 src/adapters/shadcn.ts。 。 。 .

处理中

bun install
bun run verify          # formatting, typecheck, lint, catalogue freshness, tests, build
bun run catalogue:build # regenerate src/generated from palettes/ and sources.ts
bun run catalogue:check # fail if the committed catalogue is stale
bun run vendor          # refresh palettes/ from the pinned upstream revision

生成的目录是 承诺,以及 catalogue:check 当它和它的失败时 输入不一致。 因此,调色板更改是可审查的 diff 而不是 无形之漂.

palettes/ 由 bun run vendor,它复制了 Base24 从 以 src/sources.ts。采用新的上游变化 CATALOGUE_REVISION运行 vendor,则 catalogue:build 并阅读 diff —— 构建其修复的每个值和原因的打印.

从两个调色板组成主题

添加条目到 COMPOSED_SOURCES 内 src/sources.ts 命名两个捐献弹片 插槽映射, 以及合成的插槽; 列出要粘接结构的灰度角色 捐助者; 设置 hueTranspose 如果这些花被借给别的画布; 接下来 bun run vendor && bun run catalogue:build. 供应商步骤声称这两份地图 覆盖每个 Base24 插槽,所以一个组成不能是半指定. 每半个 对捐助者的捐款 tests/provenance.test.ts。 。 。 .

添加主题

  1. 将Base24计划添加到 palettes/ (或让 vendor 获取 : 添加弹片到 VENDORED_SOURCES 内 src/sources.ts (第一编).
  2. 记录其家族项目、 URL 和许可证 FAMILY_PROVENANCE,以及 输入 VENDORED_SOURCES ——标识,标签,说明,外观,标签.
  3. 声明 accentSlot 如果这个家庭的身份不在它的蓝槽里 永远的森林 是绿色的,Rosé Pine是虹膜,Monokai是红色的.
  4. 添加忠诚断言 tests/provenance.test.ts。套房没有故障 第一,不记录其颜色来源,就无法添加主题.
  5. bun run catalogue:build && bun run verify。 。 。 .

如果建筑物报告的作用无法在预算范围内弥补,答案是: 无论是调色板真正不能表达出这个角色, 在这种情况下,在条目的描述中这样说, 或者地板是错误的,在这种情况下 换个位置 CONTRAST_FLOORS 并证明它在那里.

许可证

阿帕奇2.0 (英语). 调色板不是: 看 通知 每个项目及其条件.

版本与发布记录

@adea-ai/themes 共发布 67 个版本,首次发布于 2026/09/26;过去 12 个月发布了 67 个版本。

版本发布日期距今
0.11.6latest2026/11/033 天前
0.11.52026/10/315 天前
0.11.42026/10/316 天前
0.11.32026/10/306 天前
0.11.22026/10/307 天前
0.11.12026/10/307 天前

关于 @adea-ai/themes 的常见问题

@adea-ai/themes 是什么?

Adea主题目录:首发和导入的语义学OKLCH主题,有Base24,终端,CSS和语法适配器.

如何安装 @adea-ai/themes?

在项目目录运行 npm install @adea-ai/themes,或使用 pnpm add / yarn add / bun add。

@adea-ai/themes 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@adea-ai/themes 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@adea-ai/themes 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js 24.22.2。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@adea-ai/themes 可以商用吗?

@adea-ai/themes 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@adea-ai/themes 的下载量有多少?

根据 npm 官方下载统计,@adea-ai/themes 在 2026/10/05 – 2026/11/03 这 30 天内被下载 48,883 次,日均约 1,629 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@adea-ai/themes 还在维护吗?

最新版本 0.11.6 发布于 2026/11/03(3 天前);至今共发布 67 个版本,其中过去 12 个月发布了 67 个;首次发布于 2026/09/26。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。