|
| 1 | +# 贡献 |
| 2 | + |
| 3 | +使用其他语言来阅读本文档: |
| 4 | +[English](CONTRIBUTING.md) / [日本語](.github/CONTRIBUTING-jp.md) / [Español](.github/CONTRIBUTING-es.md) / [Português](.github/CONTRIBUTING-pt-BR.md) |
| 5 | + |
| 6 | +你打算为本项目做贡献?太棒了! |
| 7 | + |
| 8 | +## 需要知道的事情 |
| 9 | + |
| 10 | +本项目与参与者行为准则保持一致. 我们期望你在参与本项目的时候也赞同并支持该行为准则. 关于报告不可接受的行为,请参考我们的[行为准则][code-of-conduct]. |
| 11 | + |
| 12 | +**在忙于你的第一个PR吗?** |
| 13 | +[如何在GitHub上面为开源项目做贡献][egghead] |
| 14 | + |
| 15 | +## 如何 |
| 16 | + |
| 17 | +* 搭建项目? |
| 18 | + [我们有详细的说明!](#project-setup) |
| 19 | + |
| 20 | +* 找到了bug? |
| 21 | + [请让我们知道!][new-issue] |
| 22 | + |
| 23 | +* 为bug打补丁? |
| 24 | + [提交PR!][new-pr] |
| 25 | + |
| 26 | +* 添加一个新功能? |
| 27 | + 请确保[新开一个issue][new-issue] 来描述你的功能, 当你准备好接受反馈的时候再提交一个[新的PR][new-pr]! |
| 28 | + |
| 29 | +## 搭建项目 |
| 30 | + |
| 31 | +你有想为我们的项目做贡献,我们真的很高兴! ❤️ 请参考如下的步骤开始吧: |
| 32 | + |
| 33 | +1. Fork 并且 clone 我们的代码仓库 |
| 34 | +2. 安装必须的依赖: |
| 35 | + ```sh |
| 36 | + $ npm install |
| 37 | + ``` |
| 38 | +3. 启动开发服务器: |
| 39 | + ```sh |
| 40 | + $ npm run storybook |
| 41 | + ``` |
| 42 | + |
| 43 | +### 目录结构 |
| 44 | +```sh |
| 45 | +. |
| 46 | +├── index.html: Demo page |
| 47 | +├── style.css: Demo page style |
| 48 | +├── css: Distribution files |
| 49 | +├── docs: Storybook stories |
| 50 | +└── scss: Source |
| 51 | + ├── base |
| 52 | + │ ├── reboot.scss: Don't change! (Bootstrap Reboot) |
| 53 | + │ ├── generic.scss: Generic style and reboot.css |
| 54 | + │ └── variables.scss: Common variables |
| 55 | + ├── elements |
| 56 | + ├── components |
| 57 | + ├── form |
| 58 | + ├── icons: 16x16 icons |
| 59 | + ├── pixel-arts: For icons other than 16x16. |
| 60 | + └── utilities |
| 61 | +``` |
| 62 | +
|
| 63 | +> 小建议: 确保你的 `master` 分支指向原始的代码仓库并且从你fork的分支上创建PR. 请按如下命令进行操作: |
| 64 | +> |
| 65 | +> ``` |
| 66 | +> git remote add upstream https://github.com/nostalgic-css/NES.css.git |
| 67 | +> git fetch upstream |
| 68 | +> git branch --set-upstream-to=upstream/master master |
| 69 | +> ``` |
| 70 | +> |
| 71 | +> 这样就会把原始的代码仓库添加为一个名为"upstream"的远程连接,并且从这个远程的仓库连接获取git的信息, 然后当你运行`git pull`命令的时候会指定本地的`master`分支去使用`upstream/master`分支. 在这个时候, 你就能基于这个`master` 分支来创建所有你自己的分支. 当你想更新你的`master`的版本信息的时候, 执行一个常规的`git pull`命令即可. |
| 72 | +
|
| 73 | +## `nostalgic-css` 组织如何为项目做贡献 |
| 74 | +
|
| 75 | +`nostalgic-css` 组织的成员必须遵守如下的步骤. 外部的贡献者只需要遵守以上的准则即可. |
| 76 | +
|
| 77 | +### 开发步骤 |
| 78 | +
|
| 79 | +1. 使用下面的格式化规则从`develop`分支来创建自己的分支。 |
| 80 | +2. 做满足问题要求的必要的工作。如果发现你的工作跟该问题无关,请[创建一个新的问题][new-issue]并且在另外一个分支在进行你的工作。 |
| 81 | +3. 提交你的PR然后合并回`develop`分支. |
| 82 | + * 任何影响当前开发的改变都必须在文档里面描述清楚. |
| 83 | + * 跟某一问题相关的PRs必须把那个问题的号码标注在标题里. 比如: `[#33] Fix bug` |
| 84 | + * 分配一个问题给你自己. |
| 85 | + * 当这个问题准备合并的时候, 必须向`nostalgic-css/NES.css` 小组申请审核. |
| 86 | +4. 一旦PR被批准了,接下来合并分支的更改就是被分配者的义务了。 |
| 87 | +
|
| 88 | +### 提交格式化 |
| 89 | +
|
| 90 | +我们使用[Commitizen][commitizen] 以及 [`commitlint`][commitlint] 来确保所有的项目提交都是易于阅读的, 并且使用 [`semantic-release`][semantic-release] 来确保我们的发布是自动化的, [不浪漫的以及不带情感色彩的][sentimental-versioning]. |
| 91 | +
|
| 92 | +
|
| 93 | +
|
| 94 | +
|
| 95 | +
|
| 96 | +[code-of-conduct]: CODE_OF_CONDUCT.md |
| 97 | +[commitizen]: https://github.com/commitizen/cz-cli |
| 98 | +[commitlint]: [https://github.com/marionebl/commitlint] |
| 99 | +[egghead]: https://egghead.io/series/how-to-contribute-to-an-open-source-project-on-github |
| 100 | +[new-issue]: https://github.com/nostalgic-css/NES.css/issues/new/choose |
| 101 | +[new-pr]: https://github.com/nostalgic-css/NES.css/compare/develop...develop |
| 102 | +[semantic-release]: https://github.com/semantic-release/semantic-release |
| 103 | +[sentimental-versioning]: http://sentimentalversioning.org/ |
0 commit comments