The GitHub Stars program thanks GitHubβs most influential developers and gives them a platform to showcase their work, reach more people, and shape the future of GitHub. Read my journey from a GitHub User to a GitHub Star.
npm i github-stars-feed
const githubStars = require('github-stars-feed');
var options = {
limit: 2,
sanitize: true,
username: 'vinitshahdeo'
};
githubStars.getFeed(options, (err, feed) => {
if (err) {
console.log('Something went wrong while fetching GitHub Stars Feed');
} else {
console.log(feed); // filtered feed
}
});
[
{
title: 'Meet Vinit Shahdeo, a resident of Jharkhand, has been recognized as a GitHub Star',
summary: 'My journey got featured by the News Khajana.',
link: 'https://thenewskhazana.com/story/meet-vinit-shahdeo-a-resident-of-jharkhand-has-been-recognized-as-a-github-star-22451/',
updated: 'Sunday, November 3rd 2019',
author: {
name: 'vinitshahdeo',
uri: 'https://stars.github.com/vinitshahdeo'
}
},
{
title: 'Mentor - Google Summer Of Code',
summary: 'Postman is one of the mentoring organization for GSoC. This year, Postman has AsyncAPI Initiative as part of their team.\n\nI will be mentoring an idea for AsyncAPI i.e. AsyncDiff. It\'s basically a library to compare two AsyncAPI documents and generate diff for the review process.',
link: 'https://community.postman.com/t/idea-9-asyncdiff-general-information/21694',
updated: 'Sunday, November 3rd 2019',
author: {
name: 'vinitshahdeo',
uri: 'https://stars.github.com/vinitshahdeo'
}
}
]
githubStars.getFeed((err, feed) => {
if (err) {
console.log('Something went wrong while fetching GitHub Stars Feed');
} else {
console.log(feed); // complete feed
}
});
[
{
title: {
type: 'html',
value: 'Meet Vinit Shahdeo, a resident of Jharkhand, has been recognized as a GitHub Star'
},
id: 'cknat1te840382f1viftueegf',
link: {
href: 'https://thenewskhazana.com/story/meet-vinit-shahdeo-a-resident-of-jharkhand-has-been-recognized-as-a-github-star-22451/'
},
updated: '2021-04-02T00:00:00.000Z',
summary: {
type: 'html',
value: 'My journey got featured by the News Khajana.'
},
author: {
name: 'vinitshahdeo',
uri: 'https://stars.github.com/vinitshahdeo'
}
},
{
title: { type: 'html', value: 'Mentor - Google Summer Of Code' },
id: 'ckmm44oxu03192fxc94w0seir',
link: {
href: 'https://community.postman.com/t/idea-9-asyncdiff-general-information/21694'
},
updated: '2021-03-20T00:00:00.000Z',
summary: {
type: 'html',
value: 'Postman is one of the mentoring organization for GSoC. This year, Postman has AsyncAPI Initiative as part of their team.\n\nI will be mentoring an idea for AsyncAPI i.e. AsyncDiff. It\'s basically a library to compare two AsyncAPI documents and generate diff for the review process.'
},
author: {
name: 'vinitshahdeo',
uri: 'https://stars.github.com/vinitshahdeo'
}
}
];
Additionally, limit
, sanitize
and username
can be passed to filter the feed entries.
Options | Type | Description |
---|---|---|
limit |
Number | max entries to be returned |
sanitize |
Boolean | return sanitized feed (only title , summary , link , updated and author ) |
username |
String | return entries of GitHub Star for given username only |
githubStars.getFeed({ limit: 5 }, (err, feed) => {
if (err) {
console.log('Something went wrong while fetching GitHub Stars Feed');
} else {
console.log(feed); // first 5 feed entries
}
});
githubStars.getFeed({ username: 'vinitshahdeo' }, (err, feed) => {
if (err) {
console.log('Something went wrong while fetching GitHub Stars Feed');
} else {
console.log(feed); // feed of vinitshahdeo only
}
});
githubStars.getFeed({ sanitize: true }, (err, feed) => {
if (err) {
console.log('Something went wrong while fetching GitHub Stars Feed');
} else {
console.log(feed); // sanitized feed
}
});
Do check out the article "How to get GitHub Stars Contributions" on Hashnode!
This NPM module is basically taking the RSS feed for GitHub Stars contributions and converting it into a valid JSON object which can be further used to build Node.js
/ React
applications.
A sample entry from GitHub Stars Contributions feed looks like below:
<entry>
<title type="html"><![CDATA[ Meet Vinit Shahdeo, a resident of Jharkhand, has been recognized as a GitHub Star ]]></title>
<id>cknat1te840382f1viftueegf</id>
<link href="https://thenewskhazana.com/story/meet-vinit-shahdeo-a-resident-of-jharkhand-has-been-recognized-as-a-github-star-22451/"/>
<updated>2021-04-02T00:00:00.000Z</updated>
<summary type="html"><![CDATA[ My journey got featured by the News Khajana. ]]></summary>
<author>
<name>vinitshahdeo</name>
<uri>https://stars.github.com/vinitshahdeo</uri>
</author>
</entry>
Please checkout examples/
directory to view example.
Refer the sample response here.
I'm happy to be a part of the GitHub Stars Hall of Fame. From a (green) dot to a star, hereβs how my journey uncoiled - tiny.cc/GitHubStar. Check out my GitHub Star profile here. π Let me know what do you build consuming this API?
PS: Always grateful to GitHub! π€