如何让all-contributors GitHub应用渲染贡献者表格与徽章?
问题:all-contributors工具无法自动渲染贡献者表格与动态徽章
我正在使用all-contributors工具,已查阅其官方文档,但折腾两小时仍无法让工具自动渲染贡献者表格,文档质量极差。
我的配置文件(.all-contributorsrc)
{ "files": [ "readme.md", "docs/authors.md", "docs/contributors.md" ], "imageSize": 100, "contributorsPerLine": 7, "contributorsSortAlphabetically": false, "badgeTemplate": "[](#contributors)", "contributorTemplate": "<a href=\"<%= contributor.profile %>\"><img src=\"<%= contributor.avatar_url %>\" width=\"<%= options.imageSize %>px;\" alt=\"\"/><br /><sub><b><%= contributor.name %></b></sub></a>", "types": { "contributor": { "symbol": "❤️", "description": "Contributor ❤️", "link": "[<%= symbol %>](<%= url %> \"<%= description %>\")," } }, "skipCi": true, "contributors": [], "projectName": ".github", "projectOwner": "owner", "repoType": "github", "repoHost": "https://github.com" }
已尝试的操作
- 执行命令
@all-contributors add @somename to code,贡献者已成功添加到.all-contributorsrc文件,但readme.md中未渲染出贡献者表格 - 手动在readme.md中添加贡献者列表标记:
但依旧没有效果<!-- ALL-CONTRIBUTORS-LIST:START --> <!-- ALL-CONTRIBUTORS-LIST:END --> - 动态徽章不生效:手动硬编码徽章可以正常显示,但工具从未使用配置中的动态模板(根据贡献者数量自动更新)注入徽章
核心诉求
我不想使用Node.js或手动在本地运行生成命令(失去工具使用意义),根据工具文档,首次添加贡献者时应自动生成表格,但实际未实现。我需要让工具正确显示动态徽章、贡献者列表并在readme.md中生成表格。
补充:我查看官方仓库的原始README内容,能看到其自动生成的表格,说明工具具备该功能,但我的项目无法正常工作。
解决方案
1. 确认Bot安装与权限
- 进入仓库设置→Apps,检查是否已安装all-contributors Bot
- 确保Bot拥有写入仓库内容的权限,无权限则无法提交README修改
2. 修正配置文件错误
projectName字段: 替换为你的实际仓库名称(比如仓库是user/my-project,则填my-project),当前配置的.github仅适用于特殊的.github仓库- 模板转义字符: 将配置中
badgeTemplate、contributorTemplate、types.contributor.link里的</>替换为正常的</>,否则模板无法被解析 skipCi字段: 若依赖Bot自动生成,可设为false(该选项仅影响CI流程,不干扰Bot操作)
3. 补充完整占位符标记
在readme.md中添加徽章占位符(建议放在顶部):
<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section --> <!-- ALL-CONTRIBUTORS-BADGE:END -->
确保贡献者列表标记位置正确且无多余内容:
<!-- ALL-CONTRIBUTORS-LIST:START --> <!-- ALL-CONTRIBUTORS-LIST:END -->
4. 重新触发Bot操作
- 删除之前的添加贡献者评论,在Issue或PR中重新评论
@all-contributors add @somename to code - 查看Bot回复,确认它是否生成包含README修改的PR(若仓库有分支保护,Bot会创建PR而非直接push)
5. 检查分支保护设置
如果你的主分支(如main)开启了保护,需要合并Bot创建的PR才能看到最终效果
内容的提问来源于stack exchange,提问作者user16435030
相关产品推荐
相关产品推荐

