Pro Color 是一个强大的浏览器主题扩展,可以让您自定义网页颜色方案,包括暗色模式支持。
- 🎨 四种预设主题:白色、护眼绿、纸张黄、夜间深色
- 🔄 每个网站单独设置主题,记住您的偏好
- 🌙 兼容系统深色模式
- 📱 响应式设计,自动适应各种屏幕
- 📝 支持导入/导出配置
- 🔌 支持懒加载内容的动态处理
- React + TypeScript
- Vite 构建
- Chrome Extension Manifest V3
- Node.js 16+
- npm 8+
npm install
npm run dev
npm run build:extension
所有构建文件将位于 dist/source
目录中,可以直接加载到浏览器进行测试。
npm run build:package
此命令将自动执行以下步骤:
build:extension
- 构建源文件到dist/source
目录build:zip
- 创建ZIP压缩包到dist/zip
目录build:crx
- 创建CRX扩展包到dist/crx
目录build:release
- 复制带版本号的文件到dist/release
目录
您也可以单独运行每个步骤:
# 只创建ZIP格式
npm run build:zip
# 只创建CRX格式
npm run build:crx
# 只生成发布文件
npm run build:release
CRX文件构建需要RSA私钥进行签名。首次运行 npm run build:crx
时会自动生成私钥文件 private.pem
,请妥善保管该文件以用于将来的更新。
注意: 如果删除或丢失私钥文件,生成的新CRX将与之前发布的CRX具有不同的签名,Chrome浏览器将视为不同的扩展。
如果CRX构建失败,请检查:
- 确保
dist/source
目录存在并包含有效的扩展文件 - 确保
private.pem
私钥文件权限正确且可读 - 确保已安装
crx
模块:npm install --save-dev crx
- 如果遇到
privateKey
相关错误,可能是私钥格式问题,尝试删除private.pem
让脚本重新生成
├── public/ # 静态资源
│ ├── icons/ # 扩展图标
│ ├── manifest.json # 扩展配置文件
│ └── themes.css # 主题样式
├── src/ # 源代码
│ ├── background/ # 后台脚本
│ ├── content-script/ # 内容脚本
│ └── pages/ # 扩展页面
├── scripts/ # 构建脚本
│ ├── build-crx.js # CRX打包脚本
│ ├── create-zip-file.js # ZIP打包脚本
│ ├── create-release.js # 发布文件生成脚本
│ └── create-zip.js # ZIP压缩模块
├── .github/ # GitHub相关配置
│ └── workflows/ # GitHub Actions工作流
├── docs/ # 文档
│ └── CI-CD.md # CI/CD配置文档
└── dist/ # 构建输出
├── source/ # 构建后的源文件
├── zip/ # ZIP压缩包
├── crx/ # Chrome扩展包
└── release/ # 版本发布文件
- 更新
package.json
中的版本号 - 运行
npm run build:package
生成所有需要的格式 - 使用
dist/release
目录中的文件进行发布:pro-color-vX.X.X.zip
: 用于提交到Chrome商店pro-color-vX.X.X.crx
: 用于直接分发给用户version-info.json
: 包含版本和构建信息
项目配置了GitHub Actions自动构建和发布流程,使用方法:
- 更新
package.json
中的版本号(例如"version": "1.0.0"
) - 提交并推送更改到GitHub
- 创建一个与版本号匹配的标签并推送:
git tag v1.0.0 git push origin v1.0.0
- GitHub Actions将自动执行以下操作:
- 构建扩展的所有格式(源文件、ZIP、CRX)
- 创建GitHub Release
- 上传构建的文件作为Release资源
- 生成更新日志
您可以在GitHub仓库的"Actions"和"Releases"标签页查看构建和发布状态。
更多关于CI/CD配置的详细信息,请参阅 CI/CD文档。
- 私钥文件 (
private.pem
) 用于签名CRX文件,请勿将其包含在版本控制中 - 确保在提交到Chrome商店前测试扩展的所有功能
- 对于CI/CD环境,可以将私钥保存为GitHub Secrets或仓库Secrets
- GitHub Actions工作流程配置在
.github/workflows/build-and-release.yml
文件中
- 打开 Chrome 浏览器,进入扩展管理页面
chrome://extensions/
- 开启右上角的"开发者模式"
- 点击"加载已解压的扩展程序"
- 选择项目的
dist/source
目录
- 安装后,在任何网页右侧会出现一个悬浮按钮
- 点击按钮可以切换主题颜色
- 设置会自动保存,下次访问同一网站时自动应用
- 进入扩展的设置页可以管理所有网站配置
Pro Color 浏览器扩展提供了在线演示站点,您可以通过以下链接访问:
https://cgbin24.github.io/pro_color/
在演示站点上,您可以:
- 了解扩展的主要功能
- 查看使用说明
- 下载最新版本的扩展包(ZIP和CRX格式)
演示站点内容位于 docs/website
目录中,由 GitHub Pages 提供支持,每次推送到主分支后自动更新。更多关于演示站点的信息,请参阅 GitHub Pages 部署说明。