A simple and customizable way to display code, anime, and music stats on your GitHub profile README.
github
Section | Default Image Showcase |
profile |
|
repositories |
|
favorite_languages |
|
favorite_license |
|
activity |
|
calendar |
|
code_habits |
Section | Terminal Image Showcase |
profile |
|
repositories |
|
favorite_languages |
|
favorite_license |
|
activity |
|
calendar |
|
code_habits |
lastfm
myanimelist
Setting up your WeebProfile is easy and can be done in a few steps:
- Go to your GitHub profile and create a new public Gist
- Copy the Gist ID from the URL (e.g.
https://gist.github.com/username/gist_id
)
- Create a new repository with your username as the repository name (e.g.
github.com/username/username
) - Create a new file called
README.md
- Commit the changes, now in your profile, you should see the repository like this:
💡 A GitHub personal token is required since this action will fetch data that cannot be accessed through repository-scoped tokens (like
${{ secrets.GITHUB_TOKEN }}
or${{ github.token }}
) such as users, pull requests, commits, activity, etc.
- Go to GitHub settings>Developer settings>Personal access tokens>personal access token(classic)
- Generate a new token (classic) with the
gist
scope - Copy the token and save it in a safe place (you won't be able to see it again)
Only the gist
scope is required for now as it's the only method to save the SVG without being local.
Additional scopes may be required depending on which features will be used. Each plugin documentation enumerates which scopes are required to make it work.
As a general rule, the following scopes may be required:
public_repo
for some pluginsrepo
for all private repositories related metrics
💡 When a plugin has not enough scopes to operate and error message will be displayed in the action console
- Go to the repository settings and click on the
Secrets and Variables
tab - Go to the
Actions
sectionhttps://github.com/username/username/settings/secrets/actions
- Add a new secret called
GIST_ID
with the Gist ID - Add a new secret called
WEEB_GH_TOKEN
with the GitHub Token
- Go to the
.github/workflows
folder in your repository (if it doesn't exist, create it) - Create a new file called
weeb_profile.yml
and paste the following code:
name: WeebProfile
on:
# 🦀 Schedule
schedule: [{ cron: "0 0 * * *" }] # Everyday at 00:00 UTC
# 💡 The following line lets you run workflow manually from the action tab!
workflow_dispatch:
# 🚀 Push event
jobs:
weeb_profile:
runs-on: ubuntu-latest
steps:
- name: 🦀 LastFM & Github 🦀
uses: LucasHenriqueDiniz/WeebProfile@main
with:
FILENAME: LastFM.svg
GIST_ID: ${{ secrets.GIST_ID }}
GH_TOKEN: ${{ secrets.WEEB_GH_TOKEN }}
STORAGE_METHOD: gist
STYLE: default
SIZE: half
PLUGIN_LASTFM: true
PLUGIN_LASTFM_HIDE_HEADER: true
PLUGIN_LASTFM_USERNAME: Amayacrab
PLUGIN_LASTFM_SECTIONS: recent_tracks, top_artists_grid, top_albums_grid
PLUGIN_GITHUB: true
PLUGIN_GITHUB_HIDE_HEADER: true
PLUGIN_GITHUB_USERNAME: LucasHenriqueDiniz
PLUGIN_GITHUB_SECTIONS: favorite_languages
- name: 🦀 MyAnimeList 🦀
uses: LucasHenriqueDiniz/WeebProfile@main
with:
FILENAME: MyAnimeList.svg
GIST_ID: ${{ secrets.GIST_ID }}
GH_TOKEN: ${{ secrets.WEEB_GH_TOKEN }}
STORAGE_METHOD: gist
SIZE: half
STYLE: default
PLUGIN_MAL: true
PLUGIN_MAL_HIDE_HEADER: true
PLUGIN_MAL_USERNAME: Amayacrab
PLUGIN_MAL_SECTIONS: statistics_simple, character_simple_favorites, anime_favorites
- Commit the changes
- Go to the Actions tab in your repository, you should see the workflow running
💡 Now in the
Actions
tab of your repository, you should see the workflow running and generating the SVGs.
💡 The SVGs will be saved in the Gist you created in step 1
💡 You can run it manually by clicking on the
Run workflow
button
- Go to your GitHub profile and click on the
Edit profile
button - In the
About
section, paste the following code:
![LastFM](https://gist.githubusercontent.com/username/gist_id/raw/LastFM.svg)
![MyAnimeList](https://gist.githubusercontent.com/username/gist_id/raw/MyAnimeList.svg)
💡 Don't forget to replace
username
andgist_id
with your GitHub username and Gist ID
💡 If you used other filename in the action replace in the link ex: LastFM.svg or MyAnimeList.svg
- Replace
username
andgist_id
with your GitHub username and Gist ID - Save the changes
💡 Now in your profile, you should see the SVGs like this
The weeb_profile.yml
file is where you can configure the plugins and the SVGs that will be generated.
Each plugin has its own configuration, and you can enable or disable them by setting the PLUGIN_ENABLED
to true
or false
.
You can see the available configurations for each plugin in the Available plugins section.
Key | Default | Description |
---|---|---|
FILENAME | MyProfile.svg | The name of the SVG file that will be generated |
DEV | false | If the action is running in dev mode (will not fetch data from API) |
GIST_ID | '' | The Gist ID where the SVG will be saved |
GH_TOKEN | '' | The GitHub Token used to save the SVG |
SIZE | half | The size of the SVG (half or full) |
STYLE | default | The style of the SVG (default or terminal) |
STORAGE_METHOD | gist | The storage method of the SVG (gist, local or repository) |
CUSTOM_CSS | '' | The custom CSS that will be applied to the SVG |
PLUGINS_ORDER | 'github, lastfm, mal' | The order of the plugins that will be generated |
If you are interested in contributing, the following resources may interest you:
Use 💬 discussions
for feedback, new features suggestions, bugs reports or to request help for installation.
Apache License 2.0
Copyright (c) 2024-@{currentYear}