94 lines
5.5 KiB
Markdown
94 lines
5.5 KiB
Markdown
コントリビュート
|
|
==========
|
|
|
|
あなたは Jekyll に投じるすばらしいアイディアを持っています。
|
|
すばらしいことです!次の事柄を心に留めてください。
|
|
|
|
* **テストなしではコントリビュートはできません。**
|
|
* もし、既存の機能への小さな修正やパッチを作成したなら、シンプルなテストを行います。
|
|
現在のテストスイートの範囲にとどまり、そして
|
|
[Shoulda](https://github.com/thoughtbot/shoulda/tree/master) や
|
|
[RR](https://github.com/btakita/rr/tree/master) を使用してください。
|
|
* もし、それが新しい機能の場合は、必ず新しい
|
|
[Cucumber](https://github.com/cucumber/cucumber/) の機能を作成し、
|
|
必要に応じて手順を再利用します。
|
|
また、あなたがフォークした `site` に
|
|
急ぎいくつかのドキュメントを用意し、一度マージを行い
|
|
メイン `site` の jekyllrb.com に転送していただければ幸いです。
|
|
* あなたのコントリビュートによって Jekyll の振る舞いが変わった場合、ドキュメントを更新すべきです。
|
|
それは `site/docs` にあります。
|
|
もし、 docs に情報の誤りがあった場合、遠慮なく追加してください。
|
|
すばらしいドキュメントはすばらしいプロジェクトを作ります!
|
|
* Ruby のコードを変更するときは、 [GitHub Ruby Styleguide](https://github.com/styleguide/ruby)
|
|
に従ってください。
|
|
* **小さなプルリクエスト** に最善を尽くしてください。
|
|
簡単に提案された変更はレビューされ、マージされる可能性が高いです。
|
|
* プルリクエストを送信するとき、プルリクエストのボディを賢明に使用してください。
|
|
変更されたかどうかの記述、変更の背後にある動機、 [完了したかどうかのタスクリスト](http://git.io/gfm-tasks)
|
|
もレビュー時間を早めます。
|
|
|
|
テストの依存関係
|
|
-----------------
|
|
|
|
テストスイートの実行や gem のビルドのために、
|
|
Jekyll の依存ツールをインストールする必要があります。
|
|
Jekyll は Bundler を使用しており、 `bundle` コマンドを実行すると全ての設定が迅速に行われます!
|
|
|
|
$ bundle
|
|
|
|
はじめる前に、テストを実行し、必ずテストが通ることを
|
|
確認してください(あなたの環境が適切に設定されているかを確認するために):
|
|
|
|
$ bundle exec rake test
|
|
$ bundle exec rake features
|
|
|
|
ワークフロー
|
|
--------
|
|
|
|
これは、あなたの作業がプロジェクトにマージされるもっとも直接的な方法です:
|
|
|
|
* プロジェクトをフォークします。
|
|
* あなたのフォークプロジェクトをクローンします ( `git clone git@github.com:<username>/jekyll.git` )。
|
|
* トピックブランチを作成し、あなたの変更を含んでください ( `git checkout -b my_awesome_feature` )。
|
|
* ハックし、テストを追加します。必ずしもこの順番でなくてかまいません
|
|
* `rake` を実行し、テストが必ず全て通ることを確認してください
|
|
* 必要に応じて、エラーがないようにコミットを論理的な塊にリベースしてください
|
|
* ブランチをプッシュしてください ( `git push origin my_awesome_feature` ).
|
|
* jekyll/jekyll プロジェクトの master ブランチに対してプルリクエストを作成し、
|
|
あなたの変更内容と、なぜそれをマージすべきかを記述してください
|
|
|
|
ドキュメントの更新
|
|
----------------------
|
|
|
|
私たちは Jekyll のドキュメントについて最善を尽くしたいです。
|
|
私たちはドキュメントをオープンソース化しました、そして
|
|
あなたが Jekyll に欠けているものを見つけた場合、私たちはプルリクエストを歓迎しています。
|
|
|
|
あなたは、 GitHub.com 上の Jekyll リポジトリの [site]({{ site.repository }}/tree/master/site) で
|
|
jekyllrb.comのドキュメントを見つけることができます。
|
|
|
|
全てのドキュメントのプルリクエストは `master` に向けられる必要があります。
|
|
他のブランチに向けたプルリクエストは受け入れられません。
|
|
|
|
GitHub の [Jekyll wiki](https://github.com/jekyll/jekyll/wiki) は、
|
|
自由に更新することができるように、プルリクエストなしで
|
|
全ての GitHub ユーザがアクセス権を持つことができます。
|
|
|
|
落とし穴
|
|
-------
|
|
|
|
* もし、 gem のバージョンがかちあった場合、コミットを分けてください。
|
|
この方法だと、メンテナが gem をリリースするときに制御できます。
|
|
* jekyll/jekyll の最新コミットに基づいて(複数の)パッチを維持してください。
|
|
それは適用するためのあなたの仕事で、メンテナがしなければならないことを少なくするのは
|
|
とてもよいことです。
|
|
* あなたの GitHub issue で [fix], [feature] などのタグをつけないでください。
|
|
メンテナは積極的に issue を読み、彼らが問題に出くわしたらラベルをつけるでしょう。
|
|
|
|
最後に…
|
|
----------
|
|
|
|
ありがとう! Jekyll のハックは楽しいものでなければなりません。
|
|
もし、あなたがこのハードを理解するための何かを発見した場合、知らせてください。
|
|
我々のプロセスやドキュメントを改善することができます!
|