You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让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": "[![All Contributors](https://img.shields.io/badge/all_contributors-<%= contributors.length %>-pink.svg)](#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里的&lt;/&gt;替换为正常的</>,否则模板无法被解析
  • 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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 18:39:28