JavaScript Ninja Techniques - GitHub API - User-Id To User-Name ? Nope.

Posted at

here is a small nifty code to generate a bunch of random github-user images (its part of a project..)







(function (n) {
"use strict";

var html = "";

/* styles */
html += (function () {
var template = '#img##ID##{background-image:url(\\'https://avatars.githubusercontent.com/u/##RANDOM##?v=3\\')}';

template = (new Array(n)).join(',').split(',').map(function (item, index) {
return template
.replace('##ID##', String(index))
.replace('##RANDOM##', String(Math.floor(2000 + Math.random() * 4000)))
;
}).join("\
");

return "<style>\
div[id^=img]{display:inline-block;width:100px; height:100px; background-color:rgba(170,204,247,.7); background-repeat:no-repeat; background-position:center center; background-attachment:local; background-size:contain; padding:0; margin:0;}\
" + template + "\
</style>";
}());

/* containers */
html += (function () {
var template = '<div id=\\'img##ID##\\'></div>';

template = (new Array(n)).join(',').split(',').map(function (item, index) {
return template.replace('##ID##', String(index));
}).join("\
");

return '<div id="container-imgs">' + "\
" + template + "\
" + '</div>';
}());

return html;
}(10));




Here it is *in action* (every page-refresh you'll get new-ones)








I would had want to link the user-id to actual user-name, but apparently,
this is the whole API, that currently available:

{
"current_user_url": "https://api.github.com/user",
"current_user_authorizations_html_url": "https://github.com/settings/connections/applications{/client_id}",
"authorizations_url": "https://api.github.com/authorizations",
"code_search_url": "https://api.github.com/search/code?q={query}{&page,per_page,sort,order}",
"emails_url": "https://api.github.com/user/emails",
"emojis_url": "https://api.github.com/emojis",
"events_url": "https://api.github.com/events",
"feeds_url": "https://api.github.com/feeds",
"following_url": "https://api.github.com/user/following{/target}",
"gists_url": "https://api.github.com/gists{/gist_id}",
"hub_url": "https://api.github.com/hub",
"issue_search_url": "https://api.github.com/search/issues?q={query}{&page,per_page,sort,order}",
"issues_url": "https://api.github.com/issues",
"keys_url": "https://api.github.com/user/keys",
"notifications_url": "https://api.github.com/notifications",
"organization_repositories_url": "https://api.github.com/orgs/{org}/repos{?type,page,per_page,sort}",
"organization_url": "https://api.github.com/orgs/{org}",
"public_gists_url": "https://api.github.com/gists/public",
"rate_limit_url": "https://api.github.com/rate_limit",
"repository_url": "https://api.github.com/repos/{owner}/{repo}",
"repository_search_url": "https://api.github.com/search/repositories?q={query}{&page,per_page,sort,order}",
"current_user_repositories_url": "https://api.github.com/user/repos{?type,page,per_page,sort}",
"starred_url": "https://api.github.com/user/starred{/owner}{/repo}",
"starred_gists_url": "https://api.github.com/gists/starred",
"team_url": "https://api.github.com/teams",
"user_url": "https://api.github.com/users/{user}",
"user_organizations_url": "https://api.github.com/user/orgs",
"user_repositories_url": "https://api.github.com/users/{user}/repos{?type,page,per_page,sort}",
"user_search_url": "https://api.github.com/search/users?q={query}{&page,per_page,sort,order}"
}