Skip to content

vn7n24fzkq/github-profile-summary-cards

Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

Repository files navigation

GitHub Profile Summary Cards

繁體中文

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}

  • Accept url parameters
    • theme
      • Theme name
    • username
      • Username

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}

  • Accept url parameters
    • theme
      • Theme name
    • username
      • Username
    • exclude:
      • A comma separated list of languages to exclude, e.g., exclude=java,rust,jupyter%20Notebook
        • You can represent a space in the language list by using '%20' when you want to include a space.
      • You can found the supported languages in here

Top languages in commits card

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

  • Accept url parameters
    • theme
      • Theme name
    • username
      • Username
    • exclude:
      • A comma separated list of languages to exclude, e.g., exclude=java,rust,jupyter%20Notebook
        • You can represent a space in the language list by using '%20' when you want to include a space.
      • You can found the supported languages in here

GitHub stats card

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

  • Accept url parameters
    • theme
      • Theme name
    • username
      • Username

Productive time card

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

  • accept url parameters
    • theme
    • username
    • 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 )

  • github-profile-summary-cards-example

  • Action already setup in this template, you just need click use this template button to create your profile readme.

  • After replace GITHUB_TOKEN with your repo secret and trigger action you can use everything in profile-summary-card-output folder.

Add to exist repository

  • Add this action to repo and replace GITHUB_TOKEN in action yml file with your repo secret.

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

Local Run

  • Require node 16, lower versions should get some problems.
  • Add personal access token to .env file. ex: GITHUB_TOKEN=abcda69ddf66ae95538c5b1666591b59b4abc73a
  • Remember npm run build after modifying any code
npm run run [username] [UTC offset]

Example

npm run run vn7n24fzkq 8
  • To locally run the API you can use the vercel dev package
vercel dev

Deploy your own API on Vercel

Quickly deploy your own version!

Deploy with Vercel