github-contributors

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

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
github-contributors
0.4.16 years ago8 years agoMinified + gzip package size for github-contributors in KB

Readme

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

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.