diff --git a/js/githubresume.js b/js/githubresume.js index 217441e..9a2c56e 100644 --- a/js/githubresume.js +++ b/js/githubresume.js @@ -54,18 +54,18 @@ var home = function() { }; var run = function() { - var gh_user = gh.user(username); - var itemCount = 0, maxItems = 5, maxLanguages = 9; + var gh_user = gh.user(username), + itemCount = 0, + maxItems = 5, + maxLanguages = 9; var res = gh_user.show(function(data) { var since = new Date(data.user.created_at); since = since.getFullYear(); var addHttp = ''; - if (data.user.blog !== undefined && data.user.blog !== null && data.user.blog !== '') { - if (data.user.blog.indexOf('http') < 0) { - addHttp = 'http://'; - } + if (data.user.blog && data.user.blog.indexOf('http') < 0) { + addHttp = 'http://'; } var name = username; @@ -95,8 +95,8 @@ var run = function() { url: 'views/resume.html', dataType: 'html', success: function(data) { - var template = data; - var html = Mustache.to_html(template, view); + var template = data, + html = Mustache.to_html(template, view); $('#resume').html(html); document.title = name + "'s Résumé"; } @@ -104,10 +104,10 @@ var run = function() { }); gh_user.allRepos(function(data) { - var repos = data.repositories; - - var sorted = []; - var languages = {}; + var repos = data.repositories, + sorted = [], + languages = {}, + popularity; repos.forEach(function(elm, i, arr) { if (arr[i].fork !== false) { @@ -122,7 +122,7 @@ var run = function() { } } - var popularity = arr[i].watchers + arr[i].forks; + popularity = arr[i].watchers + arr[i].forks; sorted.push({position: i, popularity: popularity, info: arr[i]}); }); @@ -135,6 +135,7 @@ var run = function() { var languageTotal = 0; function sortLanguages(languages, limit) { var sorted_languages = []; + for (var lang in languages) { if (typeof(lang) !== "string") { continue; @@ -148,11 +149,12 @@ var run = function() { }); languageTotal += languages[lang]; - } + if (limit) { sorted_languages = sorted_languages.slice(0, limit); } + return sorted_languages.sort(sortByPopularity); } @@ -161,13 +163,16 @@ var run = function() { dataType: 'html', success: function(response) { languages = sortLanguages(languages, maxLanguages); - + if (languages && languages.length > 0) { - var ul = $('
I do not have any public repositories. Sorry.
'); + $('#jobs').html('').append('I do not have any public repositories. Sorry.
'); } } }); }); gh_user.orgs(function(data) { - var orgs = data.organizations; - - var sorted = []; + var orgs = data.organizations, + sorted = []; orgs.forEach(function(elm, i, arr) { if (arr[i].login === undefined) { @@ -249,12 +253,15 @@ var run = function() { if (sorted.length > 0) { $('#orgs').html(''); + + var name, view, template, html; + sorted.forEach(function(elm, index, arr) { if (itemCount >= maxItems) { return; } - var name = (arr[index].info.name || arr[index].info.login); - var view = { + name = (arr[index].info.name || arr[index].info.login); + view = { name: name, now: now }; @@ -262,8 +269,8 @@ var run = function() { if (itemCount == sorted.length - 1 || itemCount == maxItems) { view.last = 'last'; } - var template = response; - var html = Mustache.to_html(template, view); + template = response; + html = Mustache.to_html(template, view); $('#orgs').append($(html)); ++itemCount;