Home

Awesome

github-contributors NPM version NPM downloads Build 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

var contributors = require('github-contributors');
var repo = 'assemble/assemble';
var opts = {};

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:

var opts = {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

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<br/>
949jonschlinkert
577doowb
11adjohnson916
7Arkkimaagi
4bendrucker
2avr
2thegreatsunra
2StevenBlack
2xzyfer
2ain
1prettyboymp
1asans
1bauerca
1jordanthomas
1pburtchaell
1oncletom
1tomcode
1tylerhowarth

About

Related projects

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.