Version 2.4

- Add new plugin "Gists"
- Fix sponsorships
- Minor icons changes
- Add new repositories metrics "sponsors" and and "releases"
This commit is contained in:
lowlighter
2020-11-06 21:16:47 +01:00
parent 90d088edf7
commit e05442017a
11 changed files with 127 additions and 25 deletions

View File

@@ -0,0 +1,51 @@
//Setup
export default async function ({login, graphql, q}, {enabled = false} = {}) {
//Plugin execution
try {
//Check if plugin is enabled and requirements are met
if ((!enabled)||(!q.gists))
return null
//Retrieve contribution calendar from graphql api
const {user:{gists}} = await graphql(`
query Gists {
user(login: "${login}") {
gists(last: 100) {
totalCount
nodes {
stargazerCount
isFork
forks {
totalCount
}
comments {
totalCount
}
}
}
}
}
`
)
//Iterate through gists
let stargazers = 0, forks = 0, comments = 0
for (const gist of gists.nodes) {
//Skip forks
if (gist.isFork)
continue
//Compute stars, forks and comments
stargazers += gist.stargazerCount
forks += gist.forks.totalCount
comments += gist.comments.totalCount
}
//Results
return {totalCount:gists.totalCount, stargazers, forks, comments}
}
//Handle errors
catch (error) {
console.debug(error)
throw {error:{message:`An error occured`}}
}
}