Skip to content

Repository files navigation

github-contributors NPM versionNPM downloadsBuild Status

Generate a markdown or JSON list of contributors for a project using the GitHub API.

Install

Install with npm:

$ npm install --save github-contributors

Usage

varcontributors=require('github-contributors');varrepo='assemble/assemble';varopts={};contributors(repo,opts,function(err,res){if(err)console.log(err);// do stuff with res});

Contributors

The response is an array of contributor objects with this format:

[{login: 'doowb',id: 995160,avatar_url: 'https://avatars.githubusercontent.com/u/995160?v=3',gravatar_id: '',url: 'https://api.github.com/users/doowb',html_url: 'https://github.com/doowb',followers_url: 'https://api.github.com/users/doowb/followers',following_url: 'https://api.github.com/users/doowb/following{/other_user}',gists_url: 'https://api.github.com/users/doowb/gists{/gist_id}',starred_url: 'https://api.github.com/users/doowb/starred{/owner}{/repo}',subscriptions_url: 'https://api.github.com/users/doowb/subscriptions',organizations_url: 'https://api.github.com/users/doowb/orgs',repos_url: 'https://api.github.com/users/doowb/repos',events_url: 'https://api.github.com/users/doowb/events{/privacy}',received_events_url: 'https://api.github.com/users/doowb/received_events',type: 'User',site_admin: false,contributions: 577}]

authentication

You can avoid hitting the GitHub rate limit by passing a client ID and client secret on the options:

varopts={id: process.env.CLIENT_ID,secret: process.env.CLIENT_SECRET};contributors('assemble/assemble',opts,function(err,res){if(err)console.log(err);// do stuff with res});

formatted list

Instead of JSON, get a markdown-formatted list by defining one of the following on options.format

  • list
  • aligned
  • table

Here are some examples.

list

Contributors from jonschlinkert/micromatch

Commits / Contributor

aligned list

Contributors from jonschlinkert/gray-matter

COMMITS / CONTRIBUTOR
------- | -----------
107 jonschlinkert
7 RobLoach
2 doowb
1 ianstormtaylor

table

Contributors from assemble/assemble

CommitsContributor
949jonschlinkert
577doowb
11adjohnson916
7Arkkimaagi
4bendrucker
2avr
2thegreatsunra
2StevenBlack
2xzyfer
2ain
1prettyboymp
1asans
1bauerca
1jordanthomas
1pburtchaell
1oncletom
1tomcode
1tylerhowarth

About

Related projects

  • get-pkgs: Get the package.json for an array of repos from the npm registry, optionally filtering properties… more | homepage
  • github-base: JavaScript wrapper that greatly simplifies working with GitHub's API. | homepage

Contributing

Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.

Building docs

(This document was generated by verb-generate-readme (a verb generator), please don't edit the readme directly. Any changes to the readme must be made in .verb.md.)

To generate the readme and API documentation with verb:

$ npm install -g verb verb-generate-readme && verb

Running tests

Install dev dependencies:

$ npm install -d && npm test

Author

Jon Schlinkert

License

Copyright © 2016, Jon Schlinkert. Released under the MIT license.


This file was generated by verb-generate-readme, v0.1.30, on September 09, 2016.

About

Generate a markdown or JSON list of contributors for a project using the GitHub API.

Topics

Resources

Stars

17 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages