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

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("\n");

    return "<style>\ndiv[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;}\n" + template + "\n</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("\n");

    return '<div id="container-imgs">' + "\n" + template + "\n" + '</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}"
}