📘

GithubのプロフィールページにSammaryCardを表示する

2023/01/15に公開

SammaryCardとは

githubでのCommit数や、Star数をグラフにしたカードです。

プロフィールページに表示することで、アクセスしたユーザーに自身の強みを伝えることができます。

今回は(github-profile-summary-cards)[https://github.com/vn7n24fzkq/github-profile-summary-cards]の使い方について解説します。

※プロフィールページに表示する前提で、リポジトリは作成済みとして解説します。

ワークフローを設定する

表示されるカードは画像ファイルになります。
アクセスのたびに更新されるわけではないため、GithubActionsを使用して定期的に画像の更新をする必要があります。

ワークフローファイルの作成

リポジトリのルートから、「.github/workflows/」配下にワークフローファイルの作成を行います。
拡張子は「yaml」、ファイル名は任意の名前で構いません。

ワークフローの設定

作成したファイルに以下のワークフローを設定します。

name: GitHub-Profile-Summary-Cards

on:
  create:
  push:
  schedule: # 24時間に一回実行されます
    - cron: "* */24 * * *" # [1]
  workflow_dispatch:

jobs:
  build:
    runs-on: ubuntu-latest
    name: generate

    steps:
      - uses: actions/checkout@v2
      - uses: vn7n24fzkq/github-profile-summary-cards@release
        env:
          GITHUB_TOKEN: ${{ secrets.ACCESS_TOKEN }}
        with:
          USERNAME: ${{ github.repository_owner }}

更新の間隔は、[1]の個所を修正することで変更できます。(設定方法)

自動でリポジトリにコミットされるように設定する

作成したワークフローでは、自動でコミットを行うスクリプトが設定されていますが、
コミットを行うにはアクセストークンの設定が必要になります。

トークンを生成する

  1. githubの右上のアイコンから「Settings」を押します。

  2. 左下のナビゲーションペインの下にある「Developer settings」を押します。

  3. 左のナビゲーションペインから「Tokens(classic)」を押し、「Generate new token」プルダウンメニューの「Generate new token (classic)」を押します。

  4. 新しくアクセストークンを設定します。
    「Note」にはわかりやすい名前、「Expiration」には有効期限を設定します。(「No Expiration」に設定すると無期限になります。)

    「select scope」は以下のように設定します。

  5. 生成すると、ハッシュコードが表示されますのでコピーします。
    ※このタイミングでコピーをできないと2度と表示されません。

  6. プロフィールのリポジトリに移動し、「Setting」→「Secrets and variables」→「Actions」→「New repository secret」からアクセスキーの登録をします。

  7. 「Name」には「ACCESS_TOKEN」、「Secret」には先ほどコピーしたハッシュコードを貼り付けし、「Add Secret」を押します。

ワークフローのアクセス権限を変更する

デフォルトではワークフローは読み取り専用になっています。
ワークフローからファイルの書き込みができるように設定します。

リポジトリの「Settings」→「Actions」→「General」を選択します。

「Workflow Permissions」を「Read and Write Permissions」に変更します。

手動実行

以上で、定期実行がされるようになりました。
手動で実行したい場合には、リポジトリのタブメニュー「Actions」→「設定したワークフロー名(Github-Profile-Summary-Cards)」→「Run workflow」から実行できます。

プロフィールに表示する

ワークフローが実行されると、リポジトリに「profile-summary-card-output」というフォルダが作成されます。
その中のReadMe.mdにグラフが表示されています。
その中のリンクをコピーすることで使用することができます。

Discussion