Commit2Feed: GitHubのコミット履歴をRSSフィードで出力する方法
tl;dr
Commit2Feed
を使用して、RSSフィード
を生成する方法。
-
GitHubワークフロー
にCommit2Feed
を導入する - 作成したワークフローで
RSSフィード
を生成する -
GitHub Pages
にRSSフィード
を組み込む
以上の手順で、リポジトリの更新情報をRSSフィード
で発信できます。
Enjoy!
はじめに
GitHubリポジトリ
のコミット履歴から、RSSフィード
を生成するCommit2Feed
アクションを開発しました。
TILリポジトリを例に、上記アクションの活用方法を説明します。
Commit2Feed
とは
1. Commit2Feed
は、GitHubリポジトリ
のコミット履歴をRSSフィード
形式で自動生成します。
GitHubアクション
として提供されており、任意のワークフローで使用できます。
commit2feed
のセットアップ
2.
Commit2Feed
のワークフロー設定方法
2.1 Commit2Feed
カスタムアクションを使用して、RSSフィード
を作成するGitHub
ワークフローを作成します。
次の手順でGitHubワークフロー
を作成します:
-
GitHubワークフロー
の作成
リポジトリに.github/workflows
ディレクトリを作成し、generate_rss.yml
ファイルを作成します。
ファイルの中身は、次のようになります。 -
GitHub workflows
の権限設定
作成したRSSフィード
をリポジトリに保存するため、GitHub Workflow
にリポジトリへの書き込み権限を設定します。2.1 権限設定画面へ移動
リポジトリ画面から、-
Settings
メニューを選択し - 左の
General
メニューから、Actions
-General
を選択します。
2.2 権限の設定
下段のWorkflow permissios
画面で、-
Read and write permissions
を選択し、 -
Allow GitHub Actions to create and approve pull requests
をチェックします。 -
Save
ボタンで設定を保存します。
-
RSSフィード
の作成
2.2 Generate RSS Feed
ワークフローを使い、RSSフィード
を作成します。
次の手順で、RSSフィード
を作成します:
-
Generate RSS Feed
画面へ移動
次の手順で、Generate RSS Feed
画面に移動します。-
Actions
メニューを選択し、 -
All workflows
で、Generate RSS Feed
を選択します。
-
-
RSSフィード
の作成
次の手順で、RSSフィード
を作成します。-
Run workflow
ボタンをクリックし、Use workflow flom
ダイアログを表示します。 - ダイアログ中の
Run workflow
ボタンをクリックし、RSSフィード
を作成します。
-
-
RSSフィード
の確認
RSSフィード
は、/docs/rss/feeds/xml
に作成されます。
RSSフィード
の組み込み
3. 作成したRSSフィード
を、GitHubページ
に組み込む必要があります。
これにより、GitHubページ
の更新としてリポジトリの更新履歴が出力されます。
GitHubページ
の作成
3.1 次の手順で、GitHubページ
を作成します:
-
ページ用ディレクトリの作成
GitHubページ
用に/docs
ディレクトリを作成し、TOP ページとしてindex.md
ファイルを作成します。 -
ページ作成画面に移動
2.1 リポジトリ画面で、[Settings]を選択し、
2.2 [Pages]を選択します。 -
GitHubページ
の作成
branch
セクションで、-
main
ブランチを選び、 -
/doc
ディレクトリを選びます
[save]をクリックし、作成するページを保存します。
-
-
テーマの設定
リポジトリルートに_config.yml
を作成し、下記の内容を設定します。_config.ymltheme: jekyll-theme-cayman
RSSフィード
をGitHubページ
に組み込む
3.2 次の手順で、RSSフィード
をGitHubページ
に組み込みます:
-
カスタマイズ
headerファイル
の作成
1.1/docs
下に/_includes/head_custom.html
ファイルを作成します。
1.2/_includes/head_custom.html
に次の内容を記述します。head_custom.html<link rel="alternate" type="application/atom+xml" title="RSS Feed (ATOM)" href="https://atsushifx.github.io/til/rss/feeds.xml">
-
フィードへのリンクを追加
index.md
ファイルを編集し、次のようにリンクを追加します。index.md## RSS Feed [RSS Feed](https://atsushifx.github.io/til/rss/feeds.xml)
RSSフィード
の確認
4. Webブラウザ
を使って、GitHubページ
、RSSフィード
の確認をします。
-
GitHubページ
は、つぎのようになります。
-
RSSフィード
は、つぎのようになります。
このように、RSSフィード
が表示されれば、正常です。
おわりに
以上で、GitHubリポジトリ
の更新履歴をRSSフィード
で出力できました。
生成したRSSフィード
は、GitHubページ
を通じて提供できます。
この記事のようにTIL
(Today I Learned
)で、リポジトリの更新履歴を出力すれば、自身の学習結果を効率的に発信できます。
やり方は簡単です。この記事のgithub workflow
をコピーし、記事にしたがってGitHubページ
を作成します。
そのあとは、GitHubページ
に追加した記事が学習履歴としてRSSフィード
に出力されます。
ぜひ、TIL
リポジトリを作成し、自身の学習成果を共有しましょう。
それでは、Happy Hacking!
技術用語と注釈
-
GitHubワークフロー
(GitHub workflows
):
GitHub
上で、自動的に実行される一連のタスク -
Commit2Feed
:
GitHub
のコミット履歴をRSSフィード
形式で出力するカスタムアクション -
RSSフィード
:
Webサイトの更新情報を配信する XML形式のフォーマット -
GitHubページ
(GitHub Pages
):
GitHub リポジトリを用いて、静的サイトをホスティングする無料のサービス。 -
workflow
の権限設定:
GitHubワークフロー
がリポジトリに対して行える操作の権限を設定すること -
GitHubアクション
(GitHub Actions
):
GitHubリポジトリ
で自動化されたタスクを実行するためのGitHub
の機能
参考資料
Webサイト
-
Commit2Feed
:
コミット履歴からRSSフィード
を生成するCommit2Feed
アクションのリポジトリ
Discussion