${profile.bio}
Followers: ${profile.followers}
Repos: ${profile.public_repos}
Gists: ${profile.public_gists}
Work: ${profile.company}
Location: ${profile.location}
`;
};
// get list of user's public repos
const getRepos = async () => {
let repos = [];
let res;
for (let i = 1; i <= maxPages; i++) {
res = await fetch(
`https://api.github.com/users/${username}/repos?&sort=pushed&per_page=100&page=${i}`
// {
// headers: {
// Accept: 'application/vnd.github+json',
// Authorization:
// 'token your-personal-access-token-here'
// }
// }
);
let data = await res.json();
repos = repos.concat(data);
}
repos.sort((a, b) => b.forks_count - a.forks_count);
repos.sort((a, b) => b.stargazers_count - a.stargazers_count);
displayRepos(repos);
};
getRepos();
// display list of all user's public repos
const displayRepos = (repos) => {
const userHome = `https://github.com/${username}`;
filterInput.classList.remove('hide');
for (const repo of repos) {
if (repo.fork && hideForks) {
continue;
}
const langUrl = `${userHome}?tab=repositories&q=&language=${repo.language}`;
const starsUrl = `${userHome}/${repo.name}/stargazers`;
const forksUrl = `${userHome}/${repo.name}/network/members`;
let listItem = document.createElement('li');
listItem.classList.add('repo');
listItem.innerHTML = `