この 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/github-profile-3d-contrib@0.7.1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
USERNAME: ${{ github.repository_owner }}
- name: Commit & Push
run: |
git config user.name github-actions
git config user.email github-actions@github.com
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.svgprofile-3d-contrib/profile-green.svgprofile-3d-contrib/profile-season-animate.svgprofile-3d-contrib/profile-season.svgprofile-3d-contrib/profile-south-season-animate.svgprofile-3d-contrib/profile-south-season.svgprofile-3d-contrib/profile-night-view.svgprofile-3d-contrib/profile-night-green.svgprofile-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 ファイルに追加します。
例:
環境変数 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