Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jonschlinkert/github-contributors
Generate a markdown or JSON list of contributors for a project using the GitHub API.
https://github.com/jonschlinkert/github-contributors
api contributor contributors github javascript json node nodejs
Last synced: 7 days ago
JSON representation
Generate a markdown or JSON list of contributors for a project using the GitHub API.
- Host: GitHub
- URL: https://github.com/jonschlinkert/github-contributors
- Owner: jonschlinkert
- License: mit
- Created: 2015-03-31T06:30:12.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2017-01-04T15:06:58.000Z (almost 8 years ago)
- Last Synced: 2024-10-04T13:38:45.908Z (about 1 month ago)
- Topics: api, contributor, contributors, github, javascript, json, node, nodejs
- Language: JavaScript
- Homepage: https://github.com/jonschlinkert
- Size: 21.5 KB
- Stars: 17
- Watchers: 4
- Forks: 10
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# github-contributors [![NPM version](https://img.shields.io/npm/v/github-contributors.svg?style=flat)](https://www.npmjs.com/package/github-contributors) [![NPM downloads](https://img.shields.io/npm/dm/github-contributors.svg?style=flat)](https://npmjs.org/package/github-contributors) [![Build Status](https://img.shields.io/travis/jonschlinkert/github-contributors.svg?style=flat)](https://travis-ci.org/jonschlinkert/github-contributors)
> Generate a markdown or JSON list of contributors for a project using the GitHub API.
## Install
Install with [npm](https://www.npmjs.com/):
```sh
$ npm install --save github-contributors
```## Usage
```js
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:
```js
[{ 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:
```js
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](https://github.com/jonschlinkert/micromatch)
**Commits** / **Contributor**
* 253 [jonschlinkert](https://github.com/jonschlinkert)
* 4 [es128](https://github.com/es128)
* 1 [UltCombo](https://github.com/UltCombo)
* 1 [tomByrer](https://github.com/tomByrer)### aligned list
Contributors from [jonschlinkert/gray-matter](https://github.com/jonschlinkert/gray-matter)
```bash
COMMITS / CONTRIBUTOR
------- | -----------
107 jonschlinkert
7 RobLoach
2 doowb
1 ianstormtaylor
```### table
Contributors from [assemble/assemble](https://github.com/assemble/assemble)
| **Commits** | **Contributor**
|
| --- | --- |
| 949 | [jonschlinkert](https://github.com/jonschlinkert) |
| 577 | [doowb](https://github.com/doowb) |
| 11 | [adjohnson916](https://github.com/adjohnson916) |
| 7 | [Arkkimaagi](https://github.com/Arkkimaagi) |
| 4 | [bendrucker](https://github.com/bendrucker) |
| 2 | [avr](https://github.com/avr) |
| 2 | [thegreatsunra](https://github.com/thegreatsunra) |
| 2 | [StevenBlack](https://github.com/StevenBlack) |
| 2 | [xzyfer](https://github.com/xzyfer) |
| 2 | [ain](https://github.com/ain) |
| 1 | [prettyboymp](https://github.com/prettyboymp) |
| 1 | [asans](https://github.com/asans) |
| 1 | [bauerca](https://github.com/bauerca) |
| 1 | [jordanthomas](https://github.com/jordanthomas) |
| 1 | [pburtchaell](https://github.com/pburtchaell) |
| 1 | [oncletom](https://github.com/oncletom) |
| 1 | [tomcode](https://github.com/tomcode) |
| 1 | [tylerhowarth](https://github.com/tylerhowarth) |## About
### Related projects
* [get-pkgs](https://www.npmjs.com/package/get-pkgs): Get the package.json for an array of repos from the npm registry, optionally filtering properties… [more](https://github.com/jonschlinkert/get-pkgs) | [homepage](https://github.com/jonschlinkert/get-pkgs "Get the package.json for an array of repos from the npm registry, optionally filtering properties using glob patterns.")
* [github-base](https://www.npmjs.com/package/github-base): JavaScript wrapper that greatly simplifies working with GitHub's API. | [homepage](https://github.com/jonschlinkert/github-base "JavaScript wrapper that greatly simplifies working with GitHub's API.")### Contributing
Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new).
### Building docs
_(This document was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme) (a [verb](https://github.com/verbose/verb) generator), please don't edit the readme directly. Any changes to the readme must be made in [.verb.md](.verb.md).)_
To generate the readme and API documentation with [verb](https://github.com/verbose/verb):
```sh
$ npm install -g verb verb-generate-readme && verb
```### Running tests
Install dev dependencies:
```sh
$ npm install -d && npm test
```### Author
**Jon Schlinkert**
* [github/jonschlinkert](https://github.com/jonschlinkert)
* [twitter/jonschlinkert](http://twitter.com/jonschlinkert)### License
Copyright © 2016, [Jon Schlinkert](https://github.com/jonschlinkert).
Released under the [MIT license](https://github.com/jonschlinkert/github-contributors/blob/master/LICENSE).***
_This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.1.30, on September 09, 2016._