Skip to content

Latest commit

 

History

History
227 lines (161 loc) · 4.15 KB

File metadata and controls

227 lines (161 loc) · 4.15 KB

贡献指南

感谢你对流萤主题浏览器插件的关注!我们欢迎任何形式的贡献。

🤝 如何贡献

报告问题

如果你发现了 bug 或有功能建议,请:

  1. 先在 Issues 中搜索,确认问题未被报告
  2. 创建新的 Issue,包含:
    • 清晰的标题
    • 详细的问题描述
    • 复现步骤
    • 浏览器版本和操作系统
    • 截图或错误信息(如有)

提交代码

  1. Fork 本仓库

    # 点击 GitHub 页面右上角的 Fork 按钮
  2. 克隆你的 Fork

    git clone https://github.com/yourusername/firefly-theme.git
    cd firefly-theme
  3. 创建特性分支

    git checkout -b feature/your-feature-name
    #
    git checkout -b fix/your-bug-fix
  4. 进行修改

    • 遵循现有代码风格
    • 添加必要的注释
    • 使用 test.html 测试效果
    • 确保在不同浏览器中测试
  5. 提交更改

    git add .
    git commit -m "feat: add your feature description"
  6. 推送到你的 Fork

    git push origin feature/your-feature-name
  7. 创建 Pull Request

    • 访问原仓库
    • 点击 "New Pull Request"
    • 填写 PR 描述,说明你的修改

📝 代码规范

JavaScript

  • 使用 2 空格缩进
  • 使用单引号
  • 每行不超过 80 字符
  • 函数和变量使用驼峰命名
  • 常量使用大写下划线命名

CSS

  • 使用 2 空格缩进
  • 使用双引号
  • 选择器按字母顺序排列
  • 使用 CSS 变量定义颜色

提交信息格式

使用 Conventional Commits 规范:

<type>(<scope>): <subject>

<body>

<footer>

类型(type):

  • feat: 新功能
  • fix: 修复 bug
  • docs: 文档更新
  • style: 代码格式调整
  • refactor: 重构
  • test: 测试相关
  • chore: 构建/工具相关

示例:

feat(content): add particle size configuration

Add new configuration option to control particle size
in the trail effect.

Closes #123

🧪 测试指南

本地测试

  1. 修改代码后,打开 test.html 预览效果
  2. 在不同浏览器中测试:
    • Chrome/Edge
    • Firefox
    • Safari(如可用)

浏览器扩展测试

  1. 生成图标:

    .\generate-icons.ps1
  2. 加载到浏览器:

    • Chrome/Edge: 访问 chrome://extensions/
    • Firefox: 访问 about:debugging#/runtime/this-firefox
  3. 在不同网站上测试效果

性能测试

  • 使用浏览器开发者工具检查性能
  • 确保动画保持 60 FPS
  • 检查内存使用情况

📋 开发环境

必需工具

  • Node.js 14+(如需运行构建工具)
  • 现代浏览器(Chrome/Firefox/Edge)
  • ImageMagick(用于生成图标)

可选工具

  • VS Code(推荐)
  • Git

推荐的 VS Code 扩展

  • ESLint
  • Prettier
  • Live Server
  • GitLens

🎨 设计原则

性能优先

  • 使用 Canvas 而非 DOM 操作
  • 限制粒子数量
  • 使用 requestAnimationFrame
  • 自动清理过期资源

用户体验

  • 效果不应影响页面正常使用
  • 提供禁用选项
  • 默认设置应该适合大多数用户
  • 动画应该流畅自然

兼容性

  • 支持主流浏览器
  • 优雅降级
  • 不破坏原有页面样式

📚 文档

代码注释

  • 复杂逻辑添加注释
  • 函数添加 JSDoc 注释
  • 配置项添加说明

README 更新

  • 新功能需要更新 README
  • 重大变更需要更新版本说明
  • 添加使用示例

🐛 Bug 修复流程

  1. 确认 bug 可复现
  2. 找到根本原因
  3. 编写测试用例(如适用)
  4. 修复问题
  5. 验证修复
  6. 更新相关文档
  7. 提交 PR

✨ 功能请求流程

  1. 先在 Issues 中讨论
  2. 获得维护者认可
  3. 设计实现方案
  4. 开发功能
  5. 测试验证
  6. 更新文档
  7. 提交 PR

📧 联系方式

如有问题,可以通过以下方式联系:

🙏 致谢

感谢所有贡献者的支持!


再次感谢你的贡献!❤️