Zurück zum Ranking

yoshi389111/github-profile-3d-contrib

TypeScript

This GitHub Action creates a GitHub contribution calendar on a 3D profile image.

github-actionprofile-readmegithub-profilegithub-profile-readmegithub-contribution-graphgithub-contributionsreadme-generatorsvg-image
Sterne-Wachstum
Sterne
1.7k
Forks
340
Wochenwachstum
Issues
2
5001k1.5k
Jan. 2023März 2024Mai 2025Juli 2026
Artefaktenpmnpm install github-profile-3d-contrib
README

GitHub Profile 3D Contrib

svg

English (en) | Deutsch (de) | Español (es) | Français (fr) | 日本語 (ja) | 한국어 (ko) | Português (pt-BR) | Português (pt) | Русский (ru) | 简体中文 (zh-CN) | 繁體中文 (zh-TW) |

Overview

This GitHub Action creates a GitHub contribution calendar on a 3D profile image.

How to use (GitHub Actions) - Basic

This GitHub Action generates your github profile 3d contribution calendar and commits to your repo. After adding the GitHub Action, the workflow runs automatically once a day. You can also trigger the workflow manually.

Step 1. Create special profile repository

Create a repository on GitHub with the same name as your username.

In this repository, follow the steps below.

Step 2. Create workflow file

Create a workflow file like the one below.

  • .github/workflows/profile-3d.yml
name: GitHub-Profile-3D-Contrib

on:
  schedule: # 03:00 JST == 18:00 UTC
    - cron: "0 18 * * *"
  workflow_dispatch:

permissions:
  contents: write

jobs:
  build:
    runs-on: ubuntu-latest
    name: generate-github-profile-3d-contrib
    steps:
      - uses: actions/checkout@v5
      - uses: yoshi389111/github-profile-3d-contrib@latest
        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 .
          if git commit -m "generated"; then
            git push
          fi

[!NOTE] You can change your GitHub settings to include contributions from private repositories. To change this setting, click Contribution settings in the top right of the standard contribution calendar, or click your icon in the top right of the screen, select SettingsPublic profileContributions & Activity, and check Include private contributions on my profile.

If you want to include additional activities from private repositories, register a personal access token as a secret and set it to the GITHUB_TOKEN environment variable in the workflow file. However, in most cases the default secrets.GITHUB_TOKEN is sufficient.

The schedule is set to run once a day by default. You can change the scheduled time as you like.

This will add the workflow to your repository.

Environment variables

In the sample, only GITHUB_TOKEN and USERNAME are specified as environment variables, but you can specify the following environment variables:

  • GITHUB_TOKEN : (required) access token
  • USERNAME : (required) target username (or specify with an argument).
  • MAX_REPOS : (optional) max repositories, default 100 - since ver. 0.2.0
  • SETTING_JSON : (optional) settings json file path. See sample-settings/*.json and src/type.ts in yoshi389111/github-profile-3d-contrib repository for details. - since ver. 0.6.0
  • GITHUB_ENDPOINT : (optional) Github GraphQL endpoint. For example, if you want to create a contribution calendar based on your company's GitHub Enterprise activity instead of GitHub.com, set this environment variable. e.g. https://github.mycompany.com/api/graphql - since ver. 0.8.0
  • YEAR : (optional) For past calendars, specify the year. This is intended to be specified when running the tool from the command line. - since ver. 0.8.0

About GITHUB_TOKEN

The secrets.GITHUB_TOKEN set in the GITHUB_TOKEN environment variable in the sample is a special access token automatically created by GitHub.

If you want to generate a contribution calendar for public repositories only, use this value. There is no need to create a secret manually.

Also, if you want to include activity in your private repositories in your contribution calendar, check "Include private contributions on my profile" in the "Profile settings" section of "Public profile" in your profile settings.

Furthermore, if you want to include additional activity information from private repositories, create an access token with the appropriate permissions. Register that access token as a secret with any name you like (For example, MY_PERSONAL_ACCESS_TOKEN). However, please note that user-created secrets cannot start with GITHUB_.

Set that secret as the value of the GITHUB_TOKEN environment variable.

          env:
-           GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+           GITHUB_TOKEN: ${{ secrets.MY_PERSONAL_ACCESS_TOKEN }}
            USERNAME: ${{ github.repository_owner }}

About the time to schedule

In the sample, it is set to start at 18:00 UTC. This is because it will run at midnight JST, which is the author's local time.

on:
  schedule: # 03:00 JST == 18:00 UTC
    - cron: "0 18 * * *"

You can change it to any time you like. We recommend midnight (around 3am) your local time. However, please note that the time must be specified in UTC.

Step 3. Manually run this GitHub Action

The first time, run this workflow manually.

  • Actions -> GitHub-Profile-3D-Contrib -> Run workflow

The profile images are generated at the following paths:

  • 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
  • profile-3d-contrib/profile-gitblock.svg

If you specify the SETTING_JSON environment variable without a fileName property in the json file, the following image will be generated:

  • profile-3d-contrib/profile-customize.svg

You can use these images in your README.md as shown below.

Example: green version

svg

Example: season version (Northern Hemisphere.)

svg

Example: season version (Southern Hemisphere.)

svg

Example: night view version

svg

Example: night green version

svg

Example: night rainbow version

svg

Example: git block version

svg

Step 4. Add image to README.md

Add the path to the generated image in your README file.

Example:

![](./profile-3d-contrib/profile-green-animate.svg)

How to use (GitHub Actions) - Advanced examples

How to use (local)

Set the GITHUB_TOKEN environment variable to your personal access token.

export GITHUB_TOKEN=XXXXXXXXXXXXXXXXXXXXX

Run the following command, replacing USER_NAME with your GitHub username or the target username.

node_modules/.bin/ts-node src/index.ts USER_NAME

or

npm run build
node . USER_NAME

License

© 2021 SATO Yoshiyuki. Licensed under the MIT License.

Ähnliche Repositories
lowlighter/metrics

📊 An infographics generator with 30+ plugins and 300+ options to display stats about your GitHub account and render them as SVG, Markdown, PDF or JSON!

JavaScriptnpmMIT Licensereadmemetrics
metrics.lecoq.io
16.9k2.2k
TideDra/zotero-arxiv-daily

Recommend new arxiv papers of your interest daily according to your Zotero libarary.

PythonPyPIGNU Affero General Public License v3.0arxivautomation
5.7k5k
JamesIves/github-pages-deploy-action

🚀 Automatically deploy your project to GitHub Pages using GitHub Actions. This action can be configured to push your production-ready code into any branch you'd like.

TypeScriptnpmMIT Licensegithub-actionsgithub-action
github.com/marketplace/actions/deploy-to-github-pages
4.6k431
vn7n24fzkq/github-profile-summary-cards

A tool to generate your GitHub summary card for profile README

TypeScriptnpmMIT Licenseprofile-summarygithub-action
github-profile-summary-cards.vercel.app/demo
3.6k492
mxschmitt/action-tmate

Debug your GitHub Actions via SSH by using tmate to get access to the runner system itself.

JavaScriptnpmMIT Licensegithub-actionsgithub-action
mxschmitt.github.io/action-tmate/
3.6k328
peter-evans/create-pull-request

A GitHub action to create a pull request for changes to your repository in the actions workspace

TypeScriptnpmMIT Licensecreate-pull-requestgithub-action
2.8k548
stefanzweifel/git-auto-commit-action

Automatically commit and push changed files back to GitHub with this GitHub Action for the 80% use case.

ShellMIT Licensegithub-actiongithub-actions
2.6k285
xandemon/developer-icons

A collection of well-optimized SVG tech logos for developers and designers—customizable, scalable, and free.

TypeScriptnpmMIT Licenseiconsnpmjs
xandemon.github.io/developer-icons/
2.5k205
filipdutescu/modern-cpp-template

A template for modern C++ projects using CMake, Clang-Format, CI, unit testing and more, with support for downstream inclusion.

CMakeThe Unlicensecmakecmake-template
1.9k224
coderabbitai/ai-pr-reviewer

AI-based Pull Request Summarizer and Reviewer with Chat Capabilities.

TypeScriptnpmMIT Licensecode-reviewgithub-action
coderabbit.ai
1.7k345
calibreapp/image-actions

A Github Action that automatically compresses JPEGs, PNGs, WebPs & AVIFs in Pull Requests.

TypeScriptnpmGNU General Public License v3.0compressiongithub-action
calibreapp.com/blog/compress-images-in-prs
1.6k78
appleboy/scp-action

GitHub Action that copy files and artifacts via SSH.

ShellMIT Licensegithub-actionsgithub-action
github.com/marketplace/actions/scp-command-to-transfer-files
1.6k178