iTerm2-Color-Schemes 截图索引全解析:screenshots/README.md 的分区结构、命名映射与自动化生成原理
开发工具【免费下载链接】iTerm2-Color-SchemesOur next-generation, interactive app is currently in beta! Come try it out at terminalthemes.com! Over 600 terminal color schemes/themes for iTerm/iTerm2. Includes ports to Terminal, Konsole, PuTTY, Xresources, XRDB, Remmina, Termite, XFCE, Tilda, FreeBSD VT, Terminator, Kitty, Windows, Visual Studio,, Ghostty, and dozens more项目地址https://gitcode.com/GitHub_Trending/it/iTerm2-Color-Schemes点击查看免费下载本文围绕 iTerm2-Color-Schemes 仓库中的 screenshots/README.md 展开它是覆盖全部 656 个终端配色主题的截图总目录按深色/浅色自动分区、由脚本生成并与根 README 自动同步。读完本文你将掌握该索引的目录结构与锚点导航方式、截图文件名的 slugify 命名规则、基于 W3C 亮度公式的明暗分类算法以及从配色文件到 PNG 截图的完整渲染与生成流水线从而能够快速定位任意主题的截图、看懂并复现整套截图生成流程。一、screenshots/README.md 是什么一份按明暗分类的全量主题截图索引在 iTerm2-Color-Schemes 仓库中schemes/目录存放着 656 个.itermcolors格式的配色源文件而 screenshots/ 目录则为其中的每个主题提供了一张可视化预览图655 张 PNG 加本 README。screenshots/README.md 正是把这些预览图组织成一份结构化索引的文档它本身也是仓库根目录 README.md 中Screenshots章节的内容来源。整份文档的骨架非常简洁由两个带锚点的分区组成## Screenshots The screenshots are categorized. - [Dark Themes](#darkthemes) - [Light Themes](#lightthemes) ### Dark Themesa namedarkthemesa/ ### 0x96f [![Screenshot](https://raw.gitcode.com/GitHub_Trending/it/iTerm2-Color-Schemes/raw/99d9701ba3cf4a06d24eea6ca4f25a64656b446b/screenshots/0x96f.png?utm_sourcegitcode_repo_files)](https://link.gitcode.com/i/b47d7d5e3ab7c0a5022ac60bb192a370)从内容规模看Dark Themes 分区从0x96f一直排到Zenwritten DarkLight Themes 分区从3024 Day排到Zenwritten Light覆盖了仓库内全部主题堪称一套可视化主题清单。读者既可以在仓库页面直接滚动浏览也可以借助顶部的两个锚点链接快速跳到深色或浅色分区。二、索引的结构深色/浅色两大分区与主题条目该文档对每个主题都采用三级标题 一张截图的固定条目格式其中三级标题使用主题的人类可读名称例如### Dracula图片则统一使用Screenshot的写法。这种结构化布局让每个主题都拥有独立的可引用位置也便于脚本生成和机器解析。几个值得注意的细节名称即展示名标题中保留原始主题名的大小写与空格如Black Metal (Bathory)、Madmans Diary、Ozzs Blizzard、Hopscotch.256与 README.md 中源码文件按主题展示名命名的约定一致。同名主题的变体仓库内同时存在Dracula与Dracula、Dark 2026与Dark、Monokai Classic与Monokai Pro系列等多个相近主题索引里以不同标题区分。分区锚点a namedarkthemesa/与a namelightthemesa/是顶部导航链接的落点这也是文档内唯一的两处交互导航。从源码结构看这份 README 并非手工维护而是由 tools/generate_screenshots_readme.py 自动生成的下一节将展开其分类逻辑。三、深色与浅色的自动分类规则W3C 亮度公式screenshots/README.md的深色/浅色分类并非人工判断而是基于主题背景色的相对亮度计算得出。核心逻辑位于 tools/generate_screenshots_readme.pydef calculate_brightness(r, g, b): Calculates the relative brightness according to the W3C formula. return 0.2126 * r 0.7152 * g 0.0722 * b def classify_itermcolors(directory.): light_themes [] dark_themes [] for file in sorted(directory.glob(*.itermcolors), keylambda entry: entry.name.lower()): screenshot_filename get_screenshot_filename(file.with_suffix().name) .png if screenshot_filename.startswith(builtin_): # These ones didnt traditionally have screenshots continue with open(os.path.join(directory, file), rb) as f: plist plistlib.load(f) bg_color plist.get(Background Color, {}) r bg_color.get(Red Component, 0) g bg_color.get(Green Component, 0) b bg_color.get(Blue Component, 0) brightness calculate_brightness(r, g, b) if brightness 0.5: light_themes.append((file.with_suffix(), screenshot_filename)) else: dark_themes.append((file.with_suffix(), screenshot_filename)) return (dark_themes, light_themes)关键点拆解分类依据是 Background Color脚本通过 Python 标准库plistlib解析每个.itermcolors文件其本质是 plist 格式只读取Background Color的Red/Green/Blue Component取值 0.01.0参与计算。W3C 相对亮度公式0.2126 * R 0.7152 * G 0.0722 * B对应 W3C 对比度规范中对人眼感知权重的近似绿通道权重最高、蓝通道最低。阈值 0.5亮度大于 0.5 归入 Light Themes否则归入 Dark Themes。这意味着分类完全由主题背景的明暗决定与前景色、强调色无关。排序稳定遍历时按文件名小写排序因此最终生成的索引顺序是确定性的方便对比与检索。顺带说明一个从源码结构可推断的细节screenshot_filename.startswith(builtin_)这一跳过逻辑针对的是下划线写法而实际截图文件名由 slugify 生成见下一节产出的是连字符写法如builtin-dark.png因此该判断实际上不会命中——Builtin Dark、Builtin Light等主题依然会出现在索引中这也与 README 正文中这些条目确实存在的事实一致。此外脚本生成screenshots/README.md后还会把同样的内容写回根 README.md插入到!-- SCREENSHOTS_BEGIN --与!-- SCREENSHOTS_END --两个注释标记之间见 tools/generate_screenshots_readme.py保证两处截图清单始终同步。四、截图文件的命名规则slugify 映射文档中每个Screenshot的文件名都不是随便取的而是由主题名经过 slugify 规则转换而来。核心实现在 tools/screenshot_gen/helpers.pydef slugify(name): Convert theme name to a slug (lowercase, replace spaces with hyphens). name unidecode(name) name name.lower() name name.replace( , -).replace(_, -) name re.sub(r[^0-9a-z-], , name) return name转换步骤为先经unidecode将非 ASCII 字符拉丁化再统一小写把空格与下划线替换为连字符最后剔除所有不属于[0-9a-z-]的字符。下面是从screenshots/README.md中可以逐一验证的真实映射示例主题名索引标题截图文件名12-bit Rainbow12-bit-rainbow.pngAardvark Blueaardvark-blue.pngBlack Metal (Bathory)black-metal-bathory.png括号被剔除Madmans Diarymadmans-diary.png撇号被剔除Ozzs Blizzardozzs-blizzard.pngdatum (dark)datum-dark.pngHaX0R Bluehax0r-blue.png大小写归一Hopscotch.256hopscotch256.png点号被剔除Darkdark.png加号被剔除base16-icybase16-icy.png这条规则同时解释了文档中的几个特例Dracula与Dracula共用同一张图两者 slugify 后都收敛到dracula.png因此索引里这两个标题指向同一个文件这正是 656 个主题却只有 655 张 PNG 的原因之一。iTerm2 Dark Background对应iterm2-dark-background.png保持了多词主题的可读性。了解命名映射后你就能在浏览索引时反推出任何主题的截图文件名或反过来根据文件名定位主题。五、截图是怎么画出来的渲染器原理screenshots/下的 PNG 并非 iTerm2 的真实运行截图而是由仓库自带的渲染器程序化绘制而成的模拟控制台画面。渲染核心在 tools/screenshot_gen/renderer.py 的ConsoleScreenshotRenderer类中画布尺寸以字符网格为单位构造80 × 19的 RGB 图像_xc负责把字符坐标换算成像素坐标字符来自自带的像素字体图 tools/screenshot_gen/screenshot_font.pngPixFont按字符集等宽切分。背景与色带整幅画面以Background_Color填充随后绘制 9 条竖色带分别对应def默认前景以及Ansi_0Ansi_8即40m48m的 ANSI 背景色每条色带上还用对应颜色印出标签。前景色矩阵主体区域是一个9 行 × 9 列的字符矩阵行代表前景色30m37m及默认色列代表背景色def及40m47m每个格子用qYw三个字符展示该前景色在当前背景下的观感同时区分普通亮度与1;加粗亮度两行。光标与选区色块若主题定义了Cursor_Color在左上角绘制Cur色块定义了Selection_Color则绘制Sel色块文本色分别回退到背景色与前景色。因此每一张截图都直观呈现了主题的 16 色 ANSI 调色板、背景/前景色、光标色与选区色一张图即可判断主题的配色气质与对比度。成图后的压缩流程在 tools/screenshot_gen/main.py 中先以Image.Resampling.BOX采样缩放到600 × 300再量化为 256 色并以最高压缩等级保存如果系统安装了oxipng或zopflipng还会调用它们做进一步 PNG 优化这也是 README.md 中建议安装这两个工具的原因。六、如何生成与更新截图命令与参数截图与索引的生成是仓库工具链的一部分可按以下步骤复现以下命令均在仓库根目录下执行# 1. 首先生成 schemes.jsonlscreenshot_gen 的输入内含每个主题的颜色数据 python3 tools/gen.py # 2. 生成缺失的截图已存在的默认跳过 pushd tools python3 -m screenshot_gen popd # 3. 重新生成 screenshots/README.md 并同步根 README.md python3 tools/generate_screenshots_readme.py其中python3 -m screenshot_gen支持以下参数见 tools/screenshot_gen/main.py参数作用-f/--force强制重新渲染所有截图默认跳过已存在的文件-v/--verbose输出详细日志例如跳过原因--scaling-test-mode输出多张不同缩放算法的对比图用于测试缩放效果schemes位置参数只渲染指定主题名不传则渲染全部主题名无效会报错退出需要特别说明的运行前提screenshot_gen读取的是仓库根目录的schemes.jsonl该文件由tools/gen.py生成如果缺失会抛出Please run tools/gen.py first的提示。README 中的贡献流程也印证了这一点——新增主题时的标准操作是先python3 tools/gen.py -s Your Theme Name再pushd tools python3 -m screenshot_gen popd补齐截图。七、如何利用这份索引挑选与安装主题[screenshots/README.md](https://link.gitcode.com/i/101b85b9b61292de500c7973341ba0bb)本质上是先看效果、再装主题的入口先按深色/浅色分区浏览截图锁定心仪的主题名然后回到根 README.md 的 Installation Instructions 按三种方式之一安装快捷键导入在 iTerm2 中按Cmdi打开会话设置进入Colors标签页 →Color Presets→Import从schemes/目录选择对应的.itermcolors文件再在Color Presets下拉中选中即可。偏好设置导入通过iTerm2菜单 →Preferences...→Profiles→Colors→Color Presets→Import路径与上述一致。Bash 脚本批量导入直接使用仓库提供的 tools/import-scheme.sh# 导入全部主题 tools/import-scheme.sh schemes/* # 按名称导入指定主题名称含空格时需加引号 tools/import-scheme.sh schemes/SpaceGray Eighties.itermcolors # 按文件路径 tools/import-scheme.sh SpaceGray Eighties # 按主题名 tools/import-scheme.sh Molokai SpaceGray Eighties # 一次导入多个导入完成后需完全退出并重启 iTerm2 以重新加载配置。此外README.md 还列出了 Konsole、PuTTY、Xresources、Ghostty、Alacritty、Windows Terminal、Visual Studio Code、Vim 等数十种终端/编辑器的移植格式目录如 kitty/、wezterm/、vscode/、vim/同一主题在这些目录中均有对应配置文件可在仓库中按需取用。八、为仓库贡献新主题的完整闭环若你有一个想加入索引的新主题可按 README.md 的 Contribute 章节完成配色 → 多格式 → 截图 → 索引的闭环命名与放置将主题文件命名为人类可读的展示名如schemes/Your Theme Name.itermcolors其他格式的主题则先转换为yaml/Your Theme Name.yml格式约定见 yaml/README.md必要时可借助 tools/kitty_to_yaml.py 与 tools/ghostty_to_yaml.py 从 kitty/ghostty 配置转出。生成各格式运行python3 tools/gen.py -s Your Theme Name将主题渲染到所有支持的目标格式目录。可选对比度检查运行python3 tools/wcag_check.py -s Your Theme Name检查 WCAG 对比度即使未通过也不必担心gen.py在生成过程中可能已将颜色调整到最低对比度阈值1.75:1以上。生成截图执行pushd tools python3 -m screenshot_gen popd脚本会在screenshots/下按 slugify 规则补出缺失的截图。刷新索引运行python3 tools/generate_screenshots_readme.py脚本会依据背景亮度自动把新主题归入 Dark/Light 分区并同步更新根 README.md 中!-- SCREENSHOTS_BEGIN --与!-- SCREENSHOTS_END --之间的清单。完成以上步骤后新主题就会以标题 截图的条目形式出现在 screenshots/README.md 中与其他 655 张截图一起构成完整的可视化主题目录。赞分享开发工具【免费下载链接】iTerm2-Color-SchemesOur next-generation, interactive app is currently in beta! Come try it out at terminalthemes.com! Over 600 terminal color schemes/themes for iTerm/iTerm2. Includes ports to Terminal, Konsole, PuTTY, Xresources, XRDB, Remmina, Termite, XFCE, Tilda, FreeBSD VT, Terminator, Kitty, Windows, Visual Studio,, Ghostty, and dozens more项目地址https://gitcode.com/GitHub_Trending/it/iTerm2-Color-Schemes点击查看免费下载相关推荐终极指南iTerm2-Color-Schemes依赖管理与requirements.txt完全解析终极指南iTerm2 Color Schemes依赖管理与requirements.txt完全解析 iTerm2 Color Schemes是一个包含各种iT开发工具2024终极指南awesome-linuxaudio如何彻底改变Linux音频制作流程2024终极指南awesome linuxaudio如何彻底改变Linux音频制作流程 awesome linuxaudio是一个专为Linux平台打造的专业告别单调终端iTerm2-Color-Schemes命令行工具自动化配色管理全攻略告别单调终端iTerm2 Color Schemes命令行工具自动化配色管理全攻略 iTerm2 Color Schemes是一个包含各种iTerm2终端颜色开发工具上一篇kiUi主题定制终极指南3步打造专业级UI视觉风格下一篇My-Budget数据安全详解加密原理与隐私保护最佳实践创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

HelloGitHub 第 19 期全解析:20 个入门级开源项目精选实战指南

HelloGitHub 第 19 期全解析:20 个入门级开源项目精选实战指南

技术博客文档知识库 【免费下载链接】HelloGitHub :octocat: 分享 GitHub 上有趣、入门级的开源项目。Share interesting, entry-level open source projects on GitHub. 项目地址: https://gitcode.com/GitHub_Trending/he/HelloGitHub 点击查看 免费下载 导读 本…

2026/10/3 7:44:40 阅读更多 →
htmx 官方首页全解读:用 HTML 属性驱动 AJAX 的“HTML 高功率工具“入门指南

htmx 官方首页全解读:用 HTML 属性驱动 AJAX 的“HTML 高功率工具“入门指南

前端 【免费下载链接】htmx htmx - high power tools for HTML 项目地址: https://gitcode.com/GitHub_Trending/ht/htmx 点击查看 免费下载 htmx 是一个零依赖、体积小巧(gzip 压缩后约 14–16KB)的浏览器端 JavaScript 库,它把…

2026/10/3 6:35:24 阅读更多 →
wiliwili B站客户端安装教程:5 分钟装进 Switch、PS4 和 PC,手柄就能刷 B 站

wiliwili B站客户端安装教程:5 分钟装进 Switch、PS4 和 PC,手柄就能刷 B 站

wiliwili B站客户端安装教程:5 分钟装进 Switch、PS4 和 PC,手柄就能刷 B 站 【免费下载链接】wiliwili 第三方B站客户端,目前可以运行在PC全平台、PSVita、PS4 、Xbox 和 Nintendo Switch上 项目地址: https://gitcode.com/GitHub_Trendin…

2026/10/2 11:16:18 阅读更多 →

最新新闻

从洗衣机控制板到PLC:光耦隔离电路设计与实战解析

从洗衣机控制板到PLC:光耦隔离电路设计与实战解析

接修过几台波轮洗衣机以后,你会发现拆开控制板,真正决定这块板子耐不耐用的,往往不是那几颗大电容和继电器,而是一排不起眼的黑色DIP4器件——光耦。这玩意儿一头接着220V强电侧的过零检测和双向可控硅触发信号,另一头…

2026/10/3 10:12:59 阅读更多 →
书源不是数量是质量:JSON规则解析、导入筛选与维护全指南

书源不是数量是质量:JSON规则解析、导入筛选与维护全指南

先说一句大实话:玩了这么多年阅读工具,我最后真正留在手机里的,不是那个界面花里胡哨、什么功能都往里面塞的“全家桶”,反而是一个看起来很素、但规则透明、几乎没有多余干扰的“纯净版”阅读器。很多人一上来就喜欢问&#xff1…

2026/10/3 10:12:58 阅读更多 →
分子动力学模拟中RMSD曲线解读与实操避坑指南

分子动力学模拟中RMSD曲线解读与实操避坑指南

刚跑完一批分子动力学模拟,对着屏幕上的RMSD曲线发呆,这是很多新手都会经历的尴尬时刻。软件自动生成了一张看起来挺正式的图,横轴是时间,纵轴是数值,曲线弯弯曲曲,但你并不知道它到底想说什么——是说明体…

2026/10/3 10:12:58 阅读更多 →
RMSD曲线解读指南:分子动力学模拟稳定性分析的关键与误区

RMSD曲线解读指南:分子动力学模拟稳定性分析的关键与误区

做MD模拟这几年,我见过太多人把轨迹文件往分析软件里一拖,盯着RMSD图半天不说话。问他在看什么,他说"看看跑稳了没有",再问一句"稳的标准是什么",就答不上来了。这不能怪大家,分子动力…

2026/10/3 10:12:58 阅读更多 →
AI工程不是训练模型:从问题定义到部署监控的全流程实践

AI工程不是训练模型:从问题定义到部署监控的全流程实践

最近总有人私信问我:“AI工程从零开始到底该怎么学?”说实话,这个短语刚看到时容易被带偏——有人把它理解成“从零手写神经网络”,有人觉得是“把开源模型跑通就行”。我自己的体会是,真正有意义的 from-scratch&…

2026/10/3 10:12:58 阅读更多 →
无人机管控平台四存储架构:MySQL、MongoDB与Redis的选型与实战

无人机管控平台四存储架构:MySQL、MongoDB与Redis的选型与实战

简介:一套基于Java、Redis、MySQL与MongoDB实现的无人机飞行管控平台源码,面向Java全栈开发者、物联网及无人机方向学习者。项目包含前端fly-ui、后端Fly与无人机客户端client三大模块,采用前后端分离架构,集成关系型与非关系型数…

2026/10/3 10:11:57 阅读更多 →

日新闻

把回忆蒸馏成 AI 的浪漫实验:为什么你需要前任.skill 完整指南

把回忆蒸馏成 AI 的浪漫实验:为什么你需要前任.skill 完整指南

把回忆蒸馏成 AI 的浪漫实验:为什么你需要前任.skill 完整指南 【免费下载链接】ex-skill 前任 skill 项目地址: https://gitcode.com/gh_mirrors/exsk/ex-skill 前任.skill 是一个运行在 Claude Code 上的开源 Skill:导入微信、iMessage、短信、…

2026/10/3 0:00:27 阅读更多 →
45个经典Linux面试题:从命令到网络排障的完整考点解析

45个经典Linux面试题:从命令到网络排障的完整考点解析

刚开始带应届生的时候,我最头疼的就是他们拿着一摞Linux面试题背得滚瓜烂熟,一上机全露馅。后来自己从被面的人变成面别人的人,才慢慢摸清楚:Linux面试题考的根本不是答案本身,而是你面对一个不确定的系统问题时&#…

2026/10/3 0:01:28 阅读更多 →
SAP生产预留实战指南:MB21/MB23/MB25协同与MRP集成

SAP生产预留实战指南:MB21/MB23/MB25协同与MRP集成

简介:本资源是一份面向SAP ABAP开发人员、生产计划专员及ERP实施顾问的实操型操作指南,聚焦SAP生产预留核心业务场景,系统解决物料预留创建、查询、校验与批量处理等高频问题。文档以结构化方式覆盖预留背景原理、OMC2编码规则、工厂级参数配…

2026/10/3 0:01:28 阅读更多 →

周新闻

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解 【免费下载链接】spirula-studio Cross-vendor 3D Gaussian Splatting trainer - video to splat to mesh, Vulkan or CUDA. 项目地址: https://gitcode.com/GitHub_Trending/sp/spirula-studio Sp…

2026/10/3 9:14:33 阅读更多 →
SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南 模板网站太丑不够用?别急着加滤镜,那是治标不治本。很多老板盯着后台流量掉得眼红,却还在纠结首页Banner的圆角是不是3像素。这就像穿着西装去挖土,姿势不对,努力白费。我整理这份 速查手册…

2026/10/3 9:47:50 阅读更多 →
FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏 【免费下载链接】FireRed-OpenStoryline FireRed-OpenStoryline is an AI video editing agent that transforms manual editing into intention-driven directing through natural language …

2026/10/3 9:42:31 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/2 10:36:31 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/3 9:42:35 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/3 9:42:36 阅读更多 →