Automatically generate contributors.svg for your repository
Create a workflow file such as .github/workflows/contributors.yml:
name: Contributors
on:
schedule:
- cron: '0 1 * * 0' # At 01:00 on Sunday.
push:
branches:
- master
jobs:
contributors:
runs-on: ubuntu-latest
steps:
- uses: wow-actions/contributors-list@v1
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
svgPath: CONTRIBUTORS.svgVarious inputs are defined to let you configure the action:
Note: Workflow command and parameter names are not case-sensitive.
sort: Specify if sort contributors by contributions or not. Default:true.round: Specify if clip the avatar to rounded or not. Default:true.count: Specify the max count of contributors listed. Default list all contributors.truncate: Truncate username by specified length,0for no truncate. Default:12.affiliation: Specify the type of collaborators. Default:direct. Options:all/direct/outside.'outside': All outside collaborators of an organization-owned repository.'direct': All collaborators with permissions to an organization-owned repository, regardless of organization membership status.'all': All collaborators the authenticated user can see.
includeBots: Specify if include bots in the contributors list or not. Defaulttrue.excludeUsers: Users separated by space to exclude in the contributors list.svgPath: The path to save generated SVG. Default'CONTRIBUTORS.svg'.svgWidth: Width of the generated SVG. Default:740.avatarSize: Size of user avatar. Default:64.avatarMargin: Margin of user avatar. Default:5.userNameHeight: Height of user name. Default:0.svgTemplate: Template to render SVG. Default:<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="{{ width }}" height="{{ contributorsHeight }}" > <style> .contributor-link { cursor: pointer; } </style> {{{ contributors }}} </svg>
itemTemplate: Template to render user item. Default:<a id="{{{ name }}}" title="{{{ name }}}" xlink:href="{{{ url }}}" class="contributor-link" target="_blank" rel="nofollow sponsored" > <image x="{{ x }}" y="{{ y }}" width="{{ width }}" height="{{ height }}" xlink:href="{{{ avatar }}}" /> </a>
commitMessage: Commit message of the github action. Default:'chore: update contributors'noCommit: Changes will not be committed. This options requires a local clone and will updated if required the contributor svg. Default:false.
name: Contributors
on:
schedule:
- cron: '0 1 * * 0' # At 01:00 on Sunday.
push:
branches:
- master
jobs:
contributors:
runs-on: ubuntu-latest
steps:
- uses: wow-actions/contributors-list@v1
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
round: truename: Contributors
on:
schedule:
- cron: '0 1 * * 0' # At 01:00 on Sunday.
push:
branches:
- master
jobs:
contributors:
runs-on: ubuntu-latest
steps:
- uses: wow-actions/contributors-list@v1
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
round: falsename: Contributors
on:
schedule:
- cron: '0 1 * * 0' # At 01:00 on Sunday.
push:
branches:
- master
jobs:
contributors:
runs-on: ubuntu-latest
steps:
- uses: wow-actions/contributors-list@v1
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
userNameHeight: 19
itemTemplate: >
<g transform="translate({{ x }}, {{ y }})">
<a xlink:href="{{{ url }}}" class="contributor-link" target="_blank" rel="nofollow sponsored" title="{{{ name }}}" id="{{{ name }}}">
<image width="{{ width }}" height="{{ height }}" xlink:href="{{{ avatar }}}" />
<text x="32" y="74" text-anchor="middle" alignment-baseline="middle" font-size="10">{{{ name }}}</text>
</a>
</g>name: Contributors
on:
schedule:
- cron: '0 1 * * 0' # At 01:00 on Sunday.
push:
branches:
- master
jobs:
contributors:
runs-on: ubuntu-latest
steps:
- uses: wow-actions/contributors-list@v1
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
svgTemplate: >
<svg
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
version="1.1"
width="{{ width }}"
height="{{ botsHeight }}"
>
<style>.contributor-link { cursor: pointer; }</style>
{{{ bots }}}
</svg>name: Contributors
on:
schedule:
- cron: '0 1 * * 0' # At 01:00 on Sunday.
push:
branches:
- master
jobs:
contributors:
runs-on: ubuntu-latest
steps:
- uses: wow-actions/contributors-list@v1
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
svgTemplate: >
<svg
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
version="1.1"
width="{{ width }}"
height="{{ collaboratorsHeight }}"
>
<style>.contributor-link { cursor: pointer; }</style>
{{{ collaborators }}}
</svg>name: Contributors
on:
schedule:
- cron: '0 1 * * 0' # At 01:00 on Sunday.
push:
branches:
- master
jobs:
contributors:
runs-on: ubuntu-latest
steps:
- uses: wow-actions/contributors-list@v1
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
includeBots: false
svgTemplate: |
<svg
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
version="1.1"
width="{{ width }}"
height="{{#sum}} {{ contributorsHeight }} + {{ botsHeight }} + 32 + 32 {{/sum}}"
>
<style>.contributor-link { cursor: pointer; }</style>
<text x="5" y="8" text-anchor="start" alignment-baseline="before-edge" font-size="24">Contributors</text>
<g transform="translate(0, 32)">
{{{ contributors }}}
</g>
<text x="5" y="{{#sum}} {{ contributorsHeight }} + 32 + 8 {{/sum}}" text-anchor="start" alignment-baseline="before-edge" font-size="24">Bots</text>
<g transform="translate(0, {{#sum}} {{ contributorsHeight }} + 32 + 32 {{/sum}})">
{{{ bots }}}
</g>
</svg>name: Contributors
on:
schedule:
- cron: '0 1 * * 0' # At 01:00 on Sunday.
push:
branches:
- master
jobs:
contributors:
runs-on: ubuntu-latest
steps:
- uses: wow-actions/contributors-list@v1
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
includeBots: false
svgTemplate: |
<svg
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
version="1.1"
width="{{ width }}"
height="{{#sum}} {{ contributorsHeight }} + {{ botsHeight }} + {{ collaboratorsHeight }} + 32 + 32 + 32 {{/sum}}"
>
<style>.contributor-link { cursor: pointer; }</style>
<text x="5" y="5" text-anchor="start" alignment-baseline="before-edge" font-size="24">Contributors</text>
<g transform="translate(0, 32)">
{{{ contributors }}}
</g>
<text x="5" y="{{#sum}} {{ contributorsHeight }} + 32 + 8 {{/sum}}" text-anchor="start" alignment-baseline="before-edge" font-size="24">Bots</text>
<g transform="translate(0, {{#sum}} {{ contributorsHeight }} + 32 + 32 {{/sum}})">
{{{ bots }}}
</g>
<text x="5" y="{{#sum}} {{ contributorsHeight }} + {{ botsHeight }} + 32 + 32 + 8 {{/sum}}" text-anchor="start" alignment-baseline="before-edge" font-size="24">Collaborators</text>
<g transform="translate(0, {{#sum}} {{ contributorsHeight }} + {{ botsHeight }} + 32 + 32 + 32 {{/sum}})">
{{{ collaborators }}}
</g>
</svg>The scripts and documentation in this project are released under the MIT License.