$(function () { var i = 0; $('.github-widget-repo').each(function () { if (i == 0) $('head').append(''); i++; var $container = $(this); var repo_name = $container.data('repo'); var html_encode = function (str) { if (!str || str.length == 0) return ""; return str.replace(//g, ">"); }; $.ajax({ url: 'https://api.github.com/repos/' + repo_name, dataType: 'jsonp', success: function (results) { var repo = results.data; var pushed_at = repo.pushed_at.substr(0, 10); var url_regex = /((http|https):\/\/)*[\w-]+(\.[\w-]+)+([\w.,@?^=%&:\/~+#-]*[\w@?^=%&\/~+#-])?/ if (repo.homepage && (m = repo.homepage.match(url_regex))) { if (m[0] && !m[1]) repo.homepage = 'http://' + m[0]; } else { repo.homepage = ''; } var $widget = $(' \
\
\

\ ' + repo.owner.login + ' \ / \ ' + repo.name + ' \

\ \
\
\

' + html_encode(repo.description) + ' — More...

\ \
\
\
\

masterbranch Latest Commit:' + pushed_at + '

\ Download Zip \
\
\ '); $widget.appendTo($container); if (repo.has_issues && repo.open_issues > 0) { $.ajax({ url: 'https://api.github.com/repos/' + repo_name + "/issues?state=open&per_page=5&page=1&sort=updated", dataType: 'jsonp', success: function (results) { var issues = results.data; var $issues_table = $(".github-box-content table"); $issues_table.append('Issues'); for (var i = 0; i < issues.length; i++) { var updated_at = issues[i].updated_at.substr(0, 10); $issues_table.append(' \ #' + issues[i].number + ' \ ' + html_encode(issues[i].title) + ' \ by ' + issues[i].user.login + '  ' + updated_at + ' \ '); } } }); } } }) }); });