{"id":18591895,"url":"https://github.com/maolonglong/actions-starcharts","last_synced_at":"2025-04-10T15:31:52.952Z","repository":{"id":40250792,"uuid":"411631930","full_name":"maolonglong/actions-starcharts","owner":"maolonglong","description":"自动生成星图（stars 趋势）的 action","archived":false,"fork":false,"pushed_at":"2023-04-10T05:59:03.000Z","size":1413,"stargazers_count":24,"open_issues_count":2,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-23T10:47:23.716Z","etag":null,"topics":["actions","chart","docker","generator","github-api","github-api-v4","go","golang","graphql","spider","visualization"],"latest_commit_sha":null,"homepage":"","language":"Go","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/maolonglong.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}},"created_at":"2021-09-29T10:38:25.000Z","updated_at":"2025-03-11T02:58:14.000Z","dependencies_parsed_at":"2024-06-23T12:01:41.228Z","dependency_job_id":null,"html_url":"https://github.com/maolonglong/actions-starcharts","commit_stats":{"total_commits":27,"total_committers":4,"mean_commits":6.75,"dds":0.4444444444444444,"last_synced_commit":"8a02621f35e876183d7101b583133403e0c11c02"},"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maolonglong%2Factions-starcharts","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maolonglong%2Factions-starcharts/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maolonglong%2Factions-starcharts/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maolonglong%2Factions-starcharts/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/maolonglong","download_url":"https://codeload.github.com/maolonglong/actions-starcharts/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248243465,"owners_count":21071054,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["actions","chart","docker","generator","github-api","github-api-v4","go","golang","graphql","spider","visualization"],"created_at":"2024-11-07T01:05:32.890Z","updated_at":"2025-04-10T15:31:52.229Z","avatar_url":"https://github.com/maolonglong.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003eStarcharts Action\u003c/h1\u003e\n\n灵感来自 [caarlos0/starcharts](https://github.com/caarlos0/starcharts)，用 Actions 避免了 [GitHub API 的速率限制](https://github.com/caarlos0/starcharts/issues/125)\n\n## 入参\n\n|       参数       |             描述              | 是否必传 |                 默认值                 |\n| :--------------: | :---------------------------: | :------: | :------------------------------------: |\n|  `github_token`  |  用于提交时身份验证的 token   |    是    |                                        |\n|    `svg_path`    |        星图的保存路径         |    否    |           `\"STARCHARTS.svg\"`           |\n| `commit_message` |           提交信息            |    否    | `\"chore: update starcharts [skip ci]\"` |\n|  `stars_change`  | 更新至少需要的 stars 数变化值 |    否    |                 `\"1\"`                  |\n|      `repo`      |      生成其他仓库的星图       |    否    |                  `\"\"`                  |\n\n## 示例\n\n新建 **.github/workflows/starcharts.yml**，内容如下：\n\n```yml\nname: Starcharts\n\non:\n  schedule:\n    - cron: \"0 0 * * 0\"\n  workflow_dispatch:\n\njobs:\n  starcharts:\n    name: Generate starcharts\n    runs-on: ubuntu-latest\n    steps:\n      - uses: MaoLongLong/actions-starcharts@main\n        with:\n          github_token: ${{ secrets.GITHUB_TOKEN }}\n          # 自定义 token 减少被限流的可能\n          # github_token: ${{ secrets.GH_TOKEN }}\n          svg_path: images/starcharts.svg\n          # stars_change: \"100\"\n          # repo: \"doocs/advanced-java\"\n```\n\n## 效果\n\n[doocs/advanced-java](https://github.com/doocs/advanced-java) Stars 趋势\n\n![](./images/starcharts.svg)\n\n[doocs/leetcode](https://github.com/doocs/leetcode) Stars 趋势（2021-09-30 生成）\n\n![](./images/doocs_leetcode_2021_09_30.svg)\n\n## TODO\n\n- [x] 修复由于 GitHub V3 API 分页限制，无法获取 40K stars 以上数据的问题\n- [x] ~~部分操作仍然依赖 GitHub API V3，打算全部替换为 V4~~ 还是 v3 用的顺手点，所以暂时就 `getStargazers()` 用的 v4\n- [x] ~~由于 Actions 中调用 V4 API 有 1000 的次数限制，所以它暂时只支持到 100K stars 的仓库~~ 用[自定义 token](https://github.com/settings/tokens/new?scopes=repo\u0026description=starcharts)解决\n- [ ] 为了文明使用 GitHub API，暂时没有使用多 goroutine，所以生成速度较慢\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaolonglong%2Factions-starcharts","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmaolonglong%2Factions-starcharts","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaolonglong%2Factions-starcharts/lists"}