黑人的命也是命

贡献

Grunt 有许多项目。

此外,每个 grunt-contrib 插件都是一个独立的存储库,列在 gruntjs 组织主页 上。每个存储库都有自己的维护者,您可以通过查看最近的提交和推送轻松找到维护者。只需在您感兴趣的存储库中创建一个问题,并 @提及 其中一个维护者即可开始。

贡献者许可协议

除了向其他用户提供支持外,大多数形式的贡献都需要您与 jQuery 基金会签署并提交一份贡献者许可协议(简称“CLA”)。

总而言之,CLA 声明,当您捐赠修复或文档时,您既拥有您提交的代码,而 jQuery 基金会又可以将该代码许可给其他人。

提交 CLA 是一次性的事情,一旦完成,您就可以开始为所有 jQuery 基金会项目做出贡献!但是,为了提高效率,您需要了解一些关于贡献者和提交者如何协调他们的工作的信息,因此参与进来并提出问题应该是您的第一步。

有关 CLA 的更多信息,请阅读 Alex Russell 的“为什么我需要签署此协议?”

想贡献力量吗?

如果您想做出贡献,但不知道从哪里开始,这里就是您的答案。下面链接的问题被标记为需要 PR,这意味着它们需要一个拉取请求才能修复。选择任何这些问题,并确保在您处理它们时发表评论。

发布新版本

要发布 grunt-contrib-* 插件的新版本,请按照以下步骤操作

  • 检查插件 GitHub 页面以确保它通过了 Travis CI。
  • cd 进入插件目录。
  • master 分支 git pull 最新更改。
  • rm -rf node_modules 删除过时或旧的节点模块。
  • npm install 获取最新版本的节点模块。
  • 运行 npm test 并确保所有测试都在本地通过。
  • package.json 中提升版本
  • 更新 CHANGELOG.md
  • 在插件目录中运行 grunt。这应该会生成新的 README。
  • 提交更改日志、package.json 和 README 更改。
  • 为新版本创建一个新的 git 标签。对标签使用以下格式:vX.Y.Z。(例如 v0.1.13
  • 将更改推送到 master,将标签推送到插件存储库。
  • 发布到 npm:npm publish .。如果您无权访问 npm publish,请请求核心贡献者之一为您发布。

非代码贡献

如果您不想编写代码,您仍然可以为项目做出贡献!

  • 您可以提交对 文档 的更新和改进。
  • 提交文章和指南,这些文章和指南也是 文档 的一部分。
  • 通过回答 StackOverflowIRCGitHub 上的问题来帮助 Grunt 用户。

提交问题

如果某些内容没有按您的预期工作,请阅读 文档,尤其是 入门 指南。如果您想与他人聊天,请进入 IRC discussing-grunt 并在那里提出您的问题。

如果您有一个文档中未涵盖的问题或想报告错误,确保解决该问题的最佳方法是在相应的错误跟踪器中提交该问题。

  • 如果 grunt、grunt-init、grunt-lib-??? 模块或特定的 grunt-contrib-??? 插件出现问题
    • 请在该项目的错误跟踪器上提交问题。
  • 如果您想贡献一个新插件
  • 如果 网站 出现问题
  • 如果存在与上述任何一项无关的问题

简化问题

尝试 减少您的代码 到重现问题所需的最低限度。这使得隔离和修复问题变得更加容易(并且速度更快)。

解释问题

如果我们无法重现该问题,我们就无法修复它。请列出重现该问题所需的确切步骤。包括您的操作系统、Node.js、grunt 等的版本。包括相关的日志或示例代码。

讨论 grunt

加入 freenode:IRC #grunt 频道进行一般性讨论,或 #grunt-dev 进行核心和插件开发讨论。我们有机器人和一切。

请勿发送私人消息。

修改 grunt

首先,确保您已安装最新的 Node.jsnpm

  1. 确保已安装 grunt-cli(有关更多信息,请参阅 入门 指南)
  2. Fork 并克隆存储库。
  3. 检出 master 分支(大多数 grunt/grunt-contrib 开发都在那里进行)。
  4. 运行 npm install 以安装所有 Grunt 依赖项。
  5. 运行 npm uninstall grunt 这将删除 node_modules 中的额外 Grunt,请参阅 npm 问题 3958
  6. 运行 grunt 来 Grunt grunt。

假设您没有看到任何红色,则说明您已准备就绪。请务必在进行任何更改后运行 grunt,以确保没有任何损坏。

提交拉取请求

  1. 创建一个新分支,请不要直接在 master 中工作。
  2. 为要进行的更改添加失败的测试。运行 grunt 以查看测试失败。
  3. 修复问题。
  4. 运行 grunt 以查看测试是否通过。重复步骤 2-4,直到完成。
  5. 更新文档以反映任何更改。
  6. 推送到您的 fork 并提交拉取请求。

语法

  • 两个空格缩进。不要在任何地方使用制表符。如果需要在字符串中使用制表符,请使用 \t
  • 没有尾随空格,但必须强制换行的 markdown 文件除外。
  • 不要过度使用空格。
  • 每个 var 语句不超过 一个赋值
  • 使用单引号 ' 分隔字符串,而不是双引号 "
  • 更喜欢 ifelse,而不是 “聪明地” 使用 ? : 条件或 ||&& 逻辑运算符。
  • 注释很好。只需将它们放在代码行的前面,而不是
  • 如有疑问,请遵循您在源代码中看到的约定。

自述文件

所有 grunt-contrib-* 插件都使用 grunt-contrib-internal 来构建 README.mdCONTRIBUTING.md 文件。源文件位于相应的 docs/ 文件夹中。自述文件中的更改日志是从 CHANGELOG 文件生成的。

提交对自述文件的更改时,请仅编辑源文件,而不要直接编辑自述文件。