この GitHub Action は GitHub のコントリビュートカレンダーの 3D 版を SVG で作成します。
このアクションは、GitHub プロファイルの3D 版のコントリビュートカレンダー(いわゆる芝生)の 3D 版の SVG を GitHub プロフィール用に作成し、リポジトリにコミットします。
このアクションを追加した後、自分でアクションをトリガーすることもできます。
ユーザー名と同じ名前で GitHub にリポジトリを作成してください。
- 例:ユーザー名が
octocat
の場合は、octocat/octocat
という名前のリポジトリを作成します。 - 参考:プロフィールの README を管理する
このリポジトリで、以降の手順を実行します。
以下のようなワークフローファイルを作成します。
.github/workflows/profile-3d.yml
スケジュールは1日1回開始するように設定されています。 起動時間を都合の良い時間に修正してください。
name: GitHub-Profile-3D-Contrib
on:
schedule: # 03:00 JST == 18:00 UTC
- cron: "0 18 * * *"
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
name: generate-github-profile-3d-contrib
steps:
- uses: actions/checkout@v3
- uses: yoshi389111/[email protected]
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
USERNAME: ${{ github.repository_owner }}
- name: Commit & Push
run: |
git config user.name github-actions
git config user.email [email protected]
git add -A .
git commit -m "generated"
git push
注:プライベートリポジトリも集計対象とする場合は、「personal access token」をリポジトリに登録し、ワークフローファイルで指定されている GITHUB_TOKEN に設定します。
これにより、アクションがリポジトリに追加されます。
GITHUB_TOKEN
: (必須) アクセストークンUSERNAME
: (必須) 対象のユーザー名. (あるいは引数で指定する)MAX_REPOS
: (任意) 最大のリポジトリ数。デフォルトは100 - バージョン 0.2.0 で追加SETTING_JSON
: (任意) 設定JSONファイルパス。詳細はyoshi389111/github-profile-3d-contrib
リポジトリのsample-settings/*.json
やsrc/type.ts
を参照してください - バージョン 0.6.0 で追加
追加したアクションを起動してください。
Actions
->GitHub-Profile-3D-Contrib
->Run workflow
プロフィール画像は以下のパスで生成されます。
profile-3d-contrib/profile-green-animate.svg
profile-3d-contrib/profile-green.svg
profile-3d-contrib/profile-season-animate.svg
profile-3d-contrib/profile-season.svg
profile-3d-contrib/profile-south-season-animate.svg
profile-3d-contrib/profile-south-season.svg
profile-3d-contrib/profile-night-view.svg
profile-3d-contrib/profile-night-green.svg
profile-3d-contrib/profile-night-rainbow.svg
あるいは、SETTING_JSON
を指定した場合は、以下のファイルが生成されます。
profile-3d-contrib/profile-customize.svg
例:green バージョン
例:season バージョン(北半球)
例:season バージョン(南半球)
例:night view バージョン
例:night green バージョン
例:night reinbow バージョン
example: git block バージョン
生成された画像のパスを readme ファイルに追加します。
例:
![](./profile-3d-contrib/profile-green-animate.svg)
環境変数 GITHUB_TOKEN
には「personal access token」を指定してください。
export GITHUB_TOKEN=XXXXXXXXXXXXXXXXXXXXX
GitHubのユーザを指定して実行してください。
node_modules/.bin/ts-node src/index.ts USER_NAME
あるいは
npm run build
node . USER_NAME
MIT License
(C) 2021 SATO, Yoshiyuki