{"id":30547317,"url":"https://github.com/levvolkov/github_stats","last_synced_at":"2026-04-08T22:31:10.961Z","repository":{"id":304066718,"uuid":"1014260089","full_name":"levvolkov/github_stats","owner":"levvolkov","description":"A generator for GitHub user/repo SVG stats for embedding in README or websites.","archived":false,"fork":false,"pushed_at":"2026-04-02T06:20:30.000Z","size":1787,"stargazers_count":18,"open_issues_count":0,"forks_count":5,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-04-02T07:50:05.519Z","etag":null,"topics":["api","badges","generator","github","github-statistics","github-stats","github-stats-card","github-stats-svg","handlebars","javascript","node-js","profile","readme","readme-profile","stats","svg-animations","visualization"],"latest_commit_sha":null,"homepage":"","language":"Handlebars","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/levvolkov.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-07-05T11:09:20.000Z","updated_at":"2026-04-02T06:20:33.000Z","dependencies_parsed_at":"2025-07-11T04:57:31.655Z","dependency_job_id":"ecfc9fc4-6f25-4032-a572-90ff9b536640","html_url":"https://github.com/levvolkov/github_stats","commit_stats":null,"previous_names":["levvolkov/github_stats"],"tags_count":0,"template":true,"template_full_name":null,"purl":"pkg:github/levvolkov/github_stats","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/levvolkov%2Fgithub_stats","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/levvolkov%2Fgithub_stats/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/levvolkov%2Fgithub_stats/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/levvolkov%2Fgithub_stats/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/levvolkov","download_url":"https://codeload.github.com/levvolkov/github_stats/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/levvolkov%2Fgithub_stats/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31577444,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-08T14:31:17.711Z","status":"ssl_error","status_checked_at":"2026-04-08T14:31:17.202Z","response_time":54,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","badges","generator","github","github-statistics","github-stats","github-stats-card","github-stats-svg","handlebars","javascript","node-js","profile","readme","readme-profile","stats","svg-animations","visualization"],"created_at":"2025-08-28T03:00:37.816Z","updated_at":"2026-04-08T22:31:10.946Z","avatar_url":"https://github.com/levvolkov.png","language":"Handlebars","readme":"# GitHub Stats Cards\n\nGenerate SVG cards with GitHub statistics (commits, stars, unique visitors, and more) that you can use in your profile or repository README. \n\n\u003cp\u003e\n\u003cpicture\u003e\n  \u003csource srcset=\"https://github.com/levvolkov/github_stats/blob/main/output/stats_commits.svg#gh-dark-mode-only\" media=\"(prefers-color-scheme: dark)\"\u003e\n  \u003cimg src=\"https://github.com/levvolkov/github_stats/blob/main/output/stats_commits.svg\"\u003e\n\u003c/picture\u003e\n\u003cpicture\u003e\n  \u003csource srcset=\"https://github.com/levvolkov/github_stats/blob/main/output/stats_langs.svg#gh-dark-mode-only\" media=\"(prefers-color-scheme: dark)\"\u003e\n  \u003cimg src=\"https://github.com/levvolkov/github_stats/blob/main/output/stats_langs.svg\"\u003e\n\u003c/picture\u003e\n\u003cpicture\u003e\n  \u003csource srcset=\"https://github.com/levvolkov/github_stats/blob/main/output/stats_general.svg#gh-dark-mode-only\" media=\"(prefers-color-scheme: dark)\"\u003e\n  \u003cimg src=\"https://github.com/levvolkov/github_stats/blob/main/output/stats_general.svg\"\u003e\n\u003c/picture\u003e\n\u003cpicture\u003e\n  \u003csource srcset=\"https://github.com/levvolkov/github_stats/blob/main/output/stats_visitors.svg#gh-dark-mode-only\" media=\"(prefers-color-scheme: dark)\"\u003e\n  \u003cimg src=\"https://github.com/levvolkov/github_stats/blob/main/output/stats_visitors.svg\"\u003e\n\u003c/picture\u003e\n\u003c/p\u003e\n\n## Features\n\n- **Efficiently fetch user statistics:** Using GitHub's GraphQL and REST APIs.\n- **Generate informative SVGs:** Display stars, forks, contributions, lines changed, views, and other metrics.\n- **Hourly automatic updates:** Regenerate images automatically each hour if changes occur.\n- **Manual triggering anytime:** Launch the workflow manually through GitHub Actions whenever desired.\n- **Default setting includes all repositories:** By default, statistics include all your repositories, including forks.\n- **Customizable exclusions:** Easily add exclusions for specific repositories or forked projects.\n- **Styling customization:** Change styles and colors of statistic cards according to preferences.\n- **Dark/Light theme support:** Visualize data in both light and dark modes within SVG outputs.\n\n## Installation and Usage\n\n1. **Create a personal [GitHub access token](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens):**\n   - Go to: **Settings** → **Developer settings** → \u003cbr\u003e **Personal access tokens** → **Tokens (classic)** → \u003cbr\u003e **Generate new token** → **Generate new token (classic)**\n   - Set the expiration date for your GitHub personal token. After expiration, you will need to update the token for the workflow to work correctly.\n   - Set the following permissions:\n     - [x] **repo**\n     - [x] **read:user**\n   - Copy the token right after creation — you will not be able to view it again.\n\n2. **Create a repository from the template:**\n   - Click [Use this template](https://github.com/levvolkov/github_stats/generate) and create a new repository based on the template.\n\u003e [!NOTE]\\\n\u003e  Next, for a more comfortable project setup, you will need to follow the steps and use the links while in `README.md` of your copy of the template.\n   \n\n3. **Add the token as a secret to your repository:**\n   - Go to the **Settings** tab of your new repository.\n   - In the left menu, select **Secrets and variables** → **Actions** or use [this link](../../settings/secrets/actions).\n   - Click **New repository secret**.\n   - In the **Name** field, enter: `ACCESS_TOKEN`.\n   - In the **Value** field, paste the previously copied personal access token.\n   - Save the secret.\n\n4. **Run the workflow to generate statistics:**\n   - Go to the **[Actions](../../actions/workflows/update-stats.yml)** tab of your repository.\n   - Select the **Update GitHub stats SVG** workflow from the list on the left.\n   - Click the **Run workflow** button (top right corner).\n\n5. **Add the statistics to your GitHub profile README:**\n   - Copy and paste the following code blocks into your markdown content.\n   - Change the `username` value to your GitHub username.\n   - Change the `repository_name` value to the name of your GitHub repository where the svg is generated.\n\n ```md\n \u003c!-- Statistics: Commit series --\u003e\n \u003cpicture\u003e\n   \u003csource srcset=\"https://raw.githubusercontent.com/username/repository_name/main/output/stats_commits.svg#gh-dark-mode-only\" media=\"(prefers-color-scheme: dark)\"\u003e\n   \u003cimg src=\"https://raw.githubusercontent.com/username/repository_name/main/output/stats_commits.svg\"\u003e\n \u003c/picture\u003e\n ```\n ```md\n \u003c!-- Statistics: Programming languages --\u003e\n \u003cpicture\u003e\n   \u003csource srcset=\"https://raw.githubusercontent.com/username/repository_name/main/output/stats_langs.svg#gh-dark-mode-only\"  media=\"(prefers-color-scheme: dark)\"\u003e\n   \u003cimg src=\"https://raw.githubusercontent.com/username/repository_name/main/output/stats_langs.svg\"\u003e\n \u003c/picture\u003e\n ```\n ```md\n \u003c!-- Statistics: General statistics --\u003e\n \u003cpicture\u003e\n   \u003csource srcset=\"https://raw.githubusercontent.com/username/repository_name/main/output/stats_general.svg#gh-dark-mode-only\"  media=\"(prefers-color-scheme: dark)\"\u003e\n   \u003cimg src=\"https://raw.githubusercontent.com/username/repository_name/main/output/stats_general.svg\"\u003e\n \u003c/picture\u003e\n ```\n ```md\n \u003c!-- Statistics: Unique repository visitors --\u003e\n \u003cpicture\u003e\n   \u003csource srcset=\"https://raw.githubusercontent.com/username/repository_name/main/output/stats_visitors.svg#gh-dark-mode-only\"  media=\"(prefers-color-scheme: dark)\"\u003e\n   \u003cimg src=\"https://raw.githubusercontent.com/username/repository_name/main/output/stats_visitors.svg\"\u003e\n \u003c/picture\u003e\n ```\n\n\u003cbr\u003e\n\n\u003e [!WARNING]\\\n\u003e Some GitHub statistics (views, unique visitors, traffic) are updated with a delay due to GitHub API limitations!\n\n\u003cbr\u003e\n\n## Customizing the displayed statistics\n\n1. **Ignoring certain languages**\n   - Go to the **Settings** tab of your new repository.\n   - In the left menu, select **Secrets and variables** → **Actions** or use [this link](../../settings/secrets/actions).\n   - Click **New repository secret**.\n   - In the **Name** field, enter: `EXCLUDED_LANGS`.\n   - In the **Value** field, enter a comma-separated list of languages you want to exclude from statistics, for example: `html, tex`.\n   - Save the secret and re-run the [workflow](../../actions/workflows/update-stats.yml).\n\n2. **Ignore specific repositories or forks**\n   - Go to the **Settings** tab of your new repository.\n   - In the left menu, select **Secrets and variables** → **Actions** or use [this link](../../settings/secrets/actions).\n   - Click **New repository secret**.\n   - In the **Name** field, enter: `EXCLUDED_REPOS`.\n   - In the **Value** field, enter a comma-separated list of repositories that you want to exclude from statistics, for example: `github_stats`.\n   - Save the secret and re-run the [workflow](../../actions/workflows/update-stats.yml).\n\n\u003cbr\u003e\n\n## Customizing SVG Styles\n\nThe appearance settings are stored in the [`themes/`](themes/) folder. You can easily change the [colors](https://colorscheme.ru/html-colors.html), set a card background, or change the time zone in the [Commit series](themes/colors_commits.js#L30) card to any of the [supported time zones](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). Additionally, you can disable the time zone display altogether by setting the value to `\"none\"`.\n\n1. **Where to configure**\n\n\u003ctable\u003e\n\t\u003ctr align=\"center\"\u003e\n\t\t\u003ctd\u003e \n\t\t\t\u003cpicture\u003e\n\t\t\t\t\u003csource srcset=\"https://raw.githubusercontent.com/levvolkov/github_stats/main/output/stats_commits.svg#gh-dark-mode-only\" media=\"(prefers-color-scheme: dark)\"\u003e\n        \u003cimg src=\"https://raw.githubusercontent.com/levvolkov/github_stats/main/output/stats_commits.svg\"\u003e\n\t\t\t\u003c/picture\u003e\n\t\t\u003c/td\u003e \n\t\t\u003ctd\u003e\n\t\t\t\u003cpicture\u003e\n\t\t\t\t\u003csource srcset=\"https://raw.githubusercontent.com/levvolkov/github_stats/main/output/stats_langs.svg#gh-dark-mode-only\" media=\"(prefers-color-scheme: dark)\"\u003e\n\t\t\t\t\u003cimg width=\"100%\" src=\"https://raw.githubusercontent.com/levvolkov/github_stats/main/output/stats_langs.svg\"\u003e\n\t\t\t\u003c/picture\u003e\n\t\t\u003c/td\u003e \n\t\t\u003ctd\u003e\n\t\t\t\u003cpicture\u003e\n\t\t\t\t\u003csource srcset=\"https://raw.githubusercontent.com/levvolkov/github_stats/main/output/stats_general.svg#gh-dark-mode-only\" media=\"(prefers-color-scheme: dark)\"\u003e\n        \u003cimg width=\"93%\" src=\"https://raw.githubusercontent.com/levvolkov/github_stats/main/output/stats_general.svg\"\u003e\n\t\t\t\u003c/picture\u003e\n\t\t\u003c/td\u003e \n\t\t\u003ctd\u003e \n\t\t\t\u003cpicture\u003e\n\t\t\t\t\u003csource srcset=\"https://raw.githubusercontent.com/levvolkov/github_stats/main/output/stats_visitors.svg#gh-dark-mode-only\" media=\"(prefers-color-scheme: dark)\"\u003e\n        \u003cimg src=\"https://raw.githubusercontent.com/levvolkov/github_stats/main/output/stats_visitors.svg\"\u003e\n\t\t\t\u003c/picture\u003e\n\t\t\u003c/td\u003e \n\t\u003c/tr\u003e \n\t\u003ctr align=\"center\"\u003e \n\t\t\u003ctd\u003e\u003ccode\u003e\u003ca href=\"themes/colors_commits.js\"\u003ecolors_commits.js\u003c/a\u003e\u003c/code\u003e\u003c/td\u003e \n\t\t\u003ctd\u003e\u003ccode\u003e\u003ca href=\"themes/colors_langs.js\"\u003ecolors_langs.js\u003c/a\u003e\u003c/code\u003e\u003c/td\u003e  \n\t\t\u003ctd\u003e\u003ccode\u003e\u003ca href=\"themes/colors_general.js\"\u003ecolors_general.js\u003c/a\u003e\u003c/code\u003e\u003c/td\u003e\n\t\t\u003ctd\u003e\u003ccode\u003e\u003ca href=\"themes/colors_visitors.js\"\u003ecolors_visitors.js\u003c/a\u003e\u003c/code\u003e\u003c/td\u003e\n\t\u003c/tr\u003e \n\t\u003ctr align=\"center\"\u003e \n\t\t\u003ctd\u003eCommit series\u003c/td\u003e \n\t\t\u003ctd\u003eProgramming languages\u003c/td\u003e\n\t\t\u003ctd\u003eGeneral statistics\u003c/td\u003e \n\t\t\u003ctd\u003eUnique repository visitors\u003c/td\u003e \n\t\u003c/tr\u003e \n\u003c/table\u003e\n\n2. **How to change**\n- Open the desired [style file](themes/) in your copy of the repository.\n- Change the values as you wish.\n- Save the file and re-run the [workflow](../../actions/workflows/update-stats.yml) (if it doesn't start automatically).","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flevvolkov%2Fgithub_stats","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flevvolkov%2Fgithub_stats","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flevvolkov%2Fgithub_stats/lists"}