GitHub - vn7n24fzkq/github-profile-summary-cards: A tool to generate your GitHub summary card for profile README (original) (raw)

繁體中文

A tool to generate your github summary card for profile README. Inspired by profile-summary-for-github

⭐ This repo is just for fun, feel free to contribute! ⭐

Stargazers Releases conventionalcommits testandlint

Themes

default 2077 dracula github github_dark
gruvbox monokai nord_bright nord_dark radical
solarized solarized_dark tokyonight vue zenburn
transparent

More themes

How to use (API)

Profile details card

http://github-profile-summary-cards.vercel.app/api/cards/profile-details?username={username}&theme={theme_name}

Top languages used in repository card

http://github-profile-summary-cards.vercel.app/api/cards/repos-per-language?username={username}&theme={theme_name}&exclude={exclude}

Top languages in commits card

http://github-profile-summary-cards.vercel.app/api/cards/most-commit-language?username={username}&theme={theme_name}&exclude={exclude}

GitHub stats card

http://github-profile-summary-cards.vercel.app/api/cards/stats?username={username}&theme={theme_name}

Productive time card

http://github-profile-summary-cards.vercel.app/api/cards/productive-time?username={username}&theme={theme_name}&utcOffset={utcOffset}


How to use (GitHub Actions)

This action generate your github profile summary cards and make a commit to your repo. You can also trigger action by yourself after add this action.

Follow tutorial ( Recommendation ) ⭐

First step

Use template ( create a repository )

Add to exist repository


GitHub Actions usage

After the action finished. You can see all of summary cards are in folder which named profile-summary-card-output.

Note: Some summary cards might not be updated in time, because github raw file has cache time.

name: GitHub-Profile-Summary-Cards

on: schedule: # execute every 24 hours - cron: "* */24 * * *" workflow_dispatch:

jobs: build: runs-on: ubuntu-latest name: generate-github-profile-summary-cards permissions: contents: write

steps:
  - uses: actions/checkout@v4
  - uses: vn7n24fzkq/github-profile-summary-cards@release
    env: # default use ${{ secrets.SUMMARY_GITHUB_TOKEN }}, you should replace with your personal access token
      GITHUB_TOKEN: ${{ secrets.SUMMARY_GITHUB_TOKEN }}
    with:
      USERNAME: ${{ github.repository_owner }}
      # BRANCH_NAME is optional, default to main, branch name to push cards
      BRANCH_NAME: "main"
      # UTC_OFFSET is optional, default to zero
      UTC_OFFSET: 8
      # EXCLUDE is an optional comma seperated list of languages to exclude, defaults to ""
      EXCLUDE: ""
      # AUTO_PUSH is optional, a boolean variable default to true, whether automatically push generated files to desired branch
      AUTO_PUSH: true

Development (Devbox)

This project uses devbox to ensure a reproducible development environment (Node.js 22, Python 3).

1. Setup

Install devbox

curl -fsSL https://get.jetpack.io/devbox | bash

Enter shell (installs all dependencies automatically)

devbox shell

2. Local Testing

We provide a script to generate cards locally for visual verification.Prerequisite: You must have a GITHUB_TOKEN.

Set token (or add to .env)

export GITHUB_TOKEN=your_token_here

Run local test generator

npm run test:local

Outputs will be saved to debug_output/ folder.

3. Run Vercel API Locally

npm i -g vercel vercel dev

Deploy your own API on Vercel

Quickly deploy your own version!

Deploy with Vercel