貢献

こんにちは!Jekyllへの貢献に興味がありますか?私たちはあなたの助けを必要としています。Jekyllはオープンソースプロジェクトであり、あなたのようなユーザーによる貢献によって構築されています。

ヘルプを得る場所または問題を報告する場所

サポートガイドラインを参照してください

貢献する方法

あなたが開発者、デザイナー、または単なるJekyllの熱心なファンであるかどうかにかかわらず、貢献する方法はたくさんあります。いくつかアイデアを紹介します。

  • Jekyllをコンピュータにインストールして試してみてください。動作しますか?期待どおりに機能しますか?そうでない場合は、Issueを開いてお知らせください。
  • プロジェクトのオープンIssueにコメントしてください。同じ問題を経験したことがありますか?回避策を知っていますか?機能を改善する方法についての提案はありますか?
  • ドキュメントを読み、何か混乱する点がある場合や、改善できる点がある場合は、いつでも「このページを改善する」ボタンをクリックしてください。
  • Jekyllディスカッションフォーラムを閲覧して、質問に答えるのを手伝ってください。他のユーザーが経験していることをすでに経験している可能性は十分にあります。
  • オープンIssue(特にhelp-wantedとラベル付けされたもの)を見つけて、提案された修正を提出してください。それが最初のプルリクエストであっても、私たちは噛みついたりしないことを約束しますし、どんな質問にも喜んでお答えします。
  • 変更をローカルでテストし、提案されている内容を確認して、オープンなプルリクエストの評価にご協力ください。

プルリクエストの送信

プルリクエスト全般

  • 提案された変更は小さければ小さいほど良いです。関連性のない2つの変更を提案したい場合は、2つのプルリクエストを送信してください。

  • 情報が多いほど良いです。プルリクエスト本文をうまく活用してください。どのような変更が行われたか、なぜそれらの変更を行ったか、そしてそれらがユーザーにどのような影響を与えるかを説明してください。

  • これが最初のプルリクエストである場合は、GitHub Flowを理解すると役立つ場合があります。

  • コードの貢献を送信する場合は、以下のコード貢献セクションを必ずお読みください。

github.com経由でプルリクエストを送信する

多くの小さな変更は、github.comのWebインターフェースを通じて完全に行うことができます。

  1. jekyll/jekyll内で編集したいファイルに移動します。
  2. 右上隅にある鉛筆アイコンをクリックしてファイルを編集します。
  3. 提案された変更を行います
  4. 「ファイルの変更を提案」をクリックします。
  5. 「プルリクエストを作成」をクリックします。
  6. 提案された変更について、わかりやすいタイトルと詳細な説明を追加します。情報が多いほど良いです。
  7. 「プルリクエストを作成」をクリックします。

以上です!他の人が提案された変更を確認してフィードバックを提供すると、自動的に更新情報を受信するように登録されます。

Gitコマンドライン経由でプルリクエストを送信する

  1. jekyll/jekyllの右上隅にある「Fork」をクリックして、プロジェクトをフォークします。
  2. リポジトリをローカルにクローンします git clone https://github.com/<あなた-のユーザー名>/jekyll
  3. 変更を格納するための新しい、わかりやすい名前のブランチを作成します( git checkout -b my-awesome-feature )。
  4. 自由にハックし、テストを追加します。必ずしもその順序ではありません。
  5. script/cibuildを実行して、すべてがまだ合格することを確認します(以下のテストセクションを参照)。
  6. ブランチをプッシュします( git push origin my-awesome-feature )。
  7. https://github.com/<あなたのユーザー名>/jekyllにアクセスし、画面上部の指示に従ってプルリクエストを作成します。

ドキュメントの更新の提案

Jekyllのドキュメントを可能な限り最良のものにしたいと考えています。ドキュメントをオープンソース化しており、不足していると思われる場合は、プルリクエストを歓迎します。

変更を送信する方法

jekyllrb.comのドキュメントは、docsディレクトリにあります。変更を提案する方法については、上記のプルリクエストの送信セクションを参照してください。

注意点として、すべてのプルリクエストはmasterブランチ(デフォルトのブランチ)に向けられる必要があります。

jekyllrb.com用のFontAwesomeアイコンセットの更新

私たちは、使用するアイコンのみを含むFontAwesomeのカスタムバージョンを使用しています。

カスタムアイコンセットにまだないアイコンでドキュメントを更新する必要がある場合は、Icomoonのジェネレーターを使用してアイコンセットを再生成する必要があります。

  1. https://icomoon.io/app/にアクセスします。
  2. 上部の水平バーのImport Iconsをクリックし、既存の<jekyll>/docs/icomoon-selection.jsonをアップロードします。
  3. ページの下部にあるAdd Icons from Library..をクリックして、「Font Awesome」を追加します。
  4. ライブラリから必要なアイコンを選択します(「IcoMoon-Free」ライブラリではなく「FontAwesome」ライブラリであることを確認してください)。
  5. 下部の水平バーにあるGenerate Fontをクリックします。
  6. 含まれているアイコンを調べ、Downloadをクリックして続行します。
  7. フォントファイルを抽出し、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フォルダ内の既存の例からコピー/ペーストできますが、必要に応じてShouldaRSpec-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/testscript/cucumberの両方を引数なしで実行して、それぞれのスイート全体を実行できます。

Visual Studio Code開発コンテナ

Visual Studio CodeRemote Development Extension Packがインストールされている場合は、Visual Studio Codeでこのリポジトリを開いて「開発コンテナで再度開く」プロンプトに従うだけで、すべての要件がインストールされた新しい環境でセットアップされ、すぐに開始できます。

感謝

ありがとうございます!Jekyllでのハッキングは楽しいはずです。この中で理解しにくい点があれば、プロセスやドキュメントを改善できるように、お知らせください!