貢献
こんにちは!Jekyllへの貢献に興味がありますか?私たちはあなたの助けを必要としています。Jekyllはオープンソースプロジェクトであり、あなたのようなユーザーによる貢献によって構築されています。
ヘルプを得る場所または問題を報告する場所
サポートガイドラインを参照してください
貢献する方法
あなたが開発者、デザイナー、または単なるJekyllの熱心なファンであるかどうかにかかわらず、貢献する方法はたくさんあります。いくつかアイデアを紹介します。
- Jekyllをコンピュータにインストールして試してみてください。動作しますか?期待どおりに機能しますか?そうでない場合は、Issueを開いてお知らせください。
- プロジェクトのオープンIssueにコメントしてください。同じ問題を経験したことがありますか?回避策を知っていますか?機能を改善する方法についての提案はありますか?
- ドキュメントを読み、何か混乱する点がある場合や、改善できる点がある場合は、いつでも「このページを改善する」ボタンをクリックしてください。
- Jekyllディスカッションフォーラムを閲覧して、質問に答えるのを手伝ってください。他のユーザーが経験していることをすでに経験している可能性は十分にあります。
- オープンIssue(特に
help-wanted
とラベル付けされたもの)を見つけて、提案された修正を提出してください。それが最初のプルリクエストであっても、私たちは噛みついたりしないことを約束しますし、どんな質問にも喜んでお答えします。 - 変更をローカルでテストし、提案されている内容を確認して、オープンなプルリクエストの評価にご協力ください。
プルリクエストの送信
プルリクエスト全般
-
提案された変更は小さければ小さいほど良いです。関連性のない2つの変更を提案したい場合は、2つのプルリクエストを送信してください。
-
情報が多いほど良いです。プルリクエスト本文をうまく活用してください。どのような変更が行われたか、なぜそれらの変更を行ったか、そしてそれらがユーザーにどのような影響を与えるかを説明してください。
-
これが最初のプルリクエストである場合は、GitHub Flowを理解すると役立つ場合があります。
-
コードの貢献を送信する場合は、以下のコード貢献セクションを必ずお読みください。
github.com経由でプルリクエストを送信する
多くの小さな変更は、github.comのWebインターフェースを通じて完全に行うことができます。
jekyll/jekyll
内で編集したいファイルに移動します。- 右上隅にある鉛筆アイコンをクリックしてファイルを編集します。
- 提案された変更を行います
- 「ファイルの変更を提案」をクリックします。
- 「プルリクエストを作成」をクリックします。
- 提案された変更について、わかりやすいタイトルと詳細な説明を追加します。情報が多いほど良いです。
- 「プルリクエストを作成」をクリックします。
以上です!他の人が提案された変更を確認してフィードバックを提供すると、自動的に更新情報を受信するように登録されます。
Gitコマンドライン経由でプルリクエストを送信する
jekyll/jekyll
の右上隅にある「Fork」をクリックして、プロジェクトをフォークします。- リポジトリをローカルにクローンします
git clone https://github.com/<あなた-のユーザー名>/jekyll
。 - 変更を格納するための新しい、わかりやすい名前のブランチを作成します(
git checkout -b my-awesome-feature
)。 - 自由にハックし、テストを追加します。必ずしもその順序ではありません。
script/cibuild
を実行して、すべてがまだ合格することを確認します(以下のテストセクションを参照)。- ブランチをプッシュします(
git push origin my-awesome-feature
)。 https://github.com/<あなたのユーザー名>/jekyll
にアクセスし、画面上部の指示に従ってプルリクエストを作成します。
ドキュメントの更新の提案
Jekyllのドキュメントを可能な限り最良のものにしたいと考えています。ドキュメントをオープンソース化しており、不足していると思われる場合は、プルリクエストを歓迎します。
変更を送信する方法
jekyllrb.comのドキュメントは、docsディレクトリにあります。変更を提案する方法については、上記のプルリクエストの送信セクションを参照してください。
注意点として、すべてのプルリクエストはmaster
ブランチ(デフォルトのブランチ)に向けられる必要があります。
jekyllrb.com用のFontAwesomeアイコンセットの更新
私たちは、使用するアイコンのみを含むFontAwesomeのカスタムバージョンを使用しています。
カスタムアイコンセットにまだないアイコンでドキュメントを更新する必要がある場合は、Icomoonのジェネレーターを使用してアイコンセットを再生成する必要があります。
- https://icomoon.io/app/にアクセスします。
- 上部の水平バーの
Import Icons
をクリックし、既存の<jekyll>/docs/icomoon-selection.json
をアップロードします。 - ページの下部にある
Add Icons from Library..
をクリックして、「Font Awesome」を追加します。 - ライブラリから必要なアイコンを選択します(「IcoMoon-Free」ライブラリではなく「FontAwesome」ライブラリであることを確認してください)。
- 下部の水平バーにある
Generate Font
をクリックします。 - 含まれているアイコンを調べ、
Download
をクリックして続行します。 - フォントファイルを抽出し、Jekyllで使用するパスにCSSを適合させます。
fonts
ディレクトリ全体をコピーして、<jekyll>/docs/
にある既存のものを上書きします。selection.json
の内容をコピーし、<jekyll>/docs/icomoon-selection.json
内の既存の内容を上書きします。@font-face {}
宣言全体と、さらに下の新しいアイコンのCSS宣言のみをコピーして、<jekyll>/docs/_sass/_font-awesome.scss
sass部分を更新します。@font-face {}
宣言のパスを、../
をfonts/FontAwesome.*
の前に追加して修正します。例:('../fonts/Fontawesome.woff?9h6hxj')
。
プラグインの追加
プラグインをプラグインのリストに追加する場合は、プラグインページソースファイルを、タイプに応じて適切な小見出しの下にプラグインへのリンクを追加することで変更するプルリクエストを送信してください。
コード貢献
プルリクエストを送信することに興味がありますか?素晴らしいです。続けてお読みください。避けていただきたい一般的な注意点がいくつかあります。
テストとドキュメント
コードの変更を提案する場合は、同じプルリクエスト内でドキュメントとテストの更新も含める必要があります。
ドキュメント
あなたの貢献がJekyllの動作を変更する場合は、ドキュメントを更新するようにしてください。ドキュメントはdocs/_docs
フォルダにあります(ネタバレ注意:これはJekyllサイトです!)。ドキュメントに情報が不足している場合は、自由に追加してください。優れたドキュメントは優れたプロジェクトを生み出します。プルリクエスト内にドキュメントへの変更を含めると、マージされたらjekyllrb.com
が更新されます。
テスト
-
既存の機能への小さな修正やパッチを作成する場合は、簡単なテストで十分です。通常は
tests
フォルダ内の既存の例からコピー/ペーストできますが、必要に応じてShouldaとRSpec-Mocksのテストスイートについて調べることができます。 -
まったく新しい機能の場合は、Cucumberの新しい機能を作成し、必要に応じて既存のステップを再利用します。
コード貢献全般
-
Jekyllは、貢献がGitHub Rubyスタイルガイドに従っていることを確認するために、Rubocop静的アナライザーを使用します。
script/fmt
を使用してコードを確認し、ブランチをプッシュする前にエラーを解決してください。 -
プルリクエストでGemのバージョンを上げないでください(それが何を意味するかわからない場合は、おそらくそうしなかったでしょう)。
-
コマンド
script/console
を使用してREPLを開始し、Jekyllのメソッドの結果を調べることができます。また、サイトや設定をすばやく作成するのに役立つメソッドも提供します。お気軽にチェックしてください! -
以前は、WIP Probotアプリを使用して、貢献者がプルリクエストのレビュー準備ができているかどうかを判断するのを支援していました。代わりに下書きプルリクエストを使用してください。準備ができたら、プルリクエストをレビュー準備完了としてマークしてください
ローカルでのテストの実行
テスト依存関係
テストスイートを実行してgemをビルドするには、次のコマンドを実行してJekyllの依存関係をインストールする必要があります
script/bootstrap
変更を行う前に、テストを実行して合格することを確認してください(環境が正しく構成されていることを確認するため)。
script/cibuild
test/
のファイルのみを更新する場合は、次のコマンドを使用できます
script/test test/blah_test.rb
.feature
ファイルのみを更新する場合は、次のコマンドを使用できます
script/cucumber features/blah.feature
script/test
とscript/cucumber
の両方を引数なしで実行して、それぞれのスイート全体を実行できます。
Visual Studio Code開発コンテナ
Visual Studio CodeにRemote Development Extension Packがインストールされている場合は、Visual Studio Codeでこのリポジトリを開いて「開発コンテナで再度開く」プロンプトに従うだけで、すべての要件がインストールされた新しい環境でセットアップされ、すぐに開始できます。
感謝
ありがとうございます!Jekyllでのハッキングは楽しいはずです。この中で理解しにくい点があれば、プロセスやドキュメントを改善できるように、お知らせください!