GitHub Action
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! ⭐
default | 2077 | dracula | github | github_dark |
gruvbox | monokai | nord_bright | nord_dark | radical |
solarized | solarized_dark | tokyonight | vue | zenburn |
transparent | ||||
http://github-profile-summary-cards.vercel.app/api/cards/profile-details?username={username}&theme={theme_name}
- Accept url parameters
- theme
- Theme name
- username
- Username
- theme
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 notebook
- You can represent a space in the language list by using ' ' when you want to include a space.
- You can found the supported languages in here
- A comma separated list of languages to exclude, e.g., exclude=java,rust,jupyter notebook
- theme
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 notebook
- You can represent a space in the language list by using ' ' when you want to include a space.
- You can found the supported languages in here
- A comma separated list of languages to exclude, e.g., exclude=java,rust,jupyter notebook
- theme
http://github-profile-summary-cards.vercel.app/api/cards/stats?username={username}&theme={theme_name}
- Accept url parameters
- theme
- Theme name
- username
- Username
- theme
http://github-profile-summary-cards.vercel.app/api/cards/productive-time?username={username}&theme={theme_name}&utcOffset={utcOffset}
- accept url parameters
- theme
- username
- utcOffset
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 ) ⭐
-
You need create a Personal access token with correct permissions. Personal token
-
Add personal access token to repo secret.
-
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 this action to repo and replace GITHUB_TOKEN in action yml file with your repo secret.
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
- 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
Quickly deploy your own version!