github-contributors

    0.4.1 • Public • Published

    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.

    Install

    npm i github-contributors

    DownloadsWeekly Downloads

    143

    Version

    0.4.1

    License

    MIT

    Last publish

    Collaborators

    • jonschlinkert
    • doowb