/*! * jQuery Github Widgets * * Copyright 2012, Utensil * https://github.com/utensil * * Released under the MIT licenses. * */ (function($){ var github_widget = { createCaption: function(data) { var user_info = data; var user_url = 'https://www.github.com/' + user_info.login; var user_repos_url = user_url + '/repositories'; var user_follower_url = user_url + '/followers'; var view = $('div.github-widget'); var view_caption = $('
'); var view_stat = $(''); var view_user = $(''); var view_user_link = $('').attr('href', user_url); var view_avatar = $('Last updated
var updated_at = $('').text('Last updated: ' + rep.updated_at.replace('T', ' ').replace('Z', ' ')); body.append(description).append(updated_at); cur_rep.append(stat).append(rep_name).append(body); view_repos_list.append(cur_rep); } view.append(view_repos_list); } }; $.fn.github_widget = function(options) { var defaults = { // @deprecate user: 'utensil', // any github username //count: 3, // TODO (optional) number of repos per widget page, 3 by default //showForks: true, // TODO (optional) show forked repos, true by default width: '95%', // (optional) width of widget, 95%/450px by default 'max-width': '450px', align: 'center' // (optional) alignment relative to its parent, 'cernter|left|right' // @deprecate compact: false, // (optional) compact mode or full mode? false by default // @deprecate noFrame: false, // (optional) no fancy widget frame, just repositories // @deprecate cache: true // (optional) turn local caching on or off, on by default }; var options = $.extend(defaults, options); //TODO validate options var view = $('').addClass('github-widget'); view.css({ 'width' : options['width'], 'max-width' : options['max-width'], 'margin-left' : (options['align'] == 'left' ? '5px' : 'auto'), 'margin-right' : (options['align'] == 'right' ? '5px' : 'auto') }); this.append(view); $.ajax('https://api.github.com/users/' + options['user'], { type : 'get', dataType : 'jsonp', crossDomain: true, success: function( data ) { github_widget.createCaption(data.data); $.ajax('https://api.github.com/users/' + options['user'] + '/repos', { type : 'get', dataType : 'jsonp', crossDomain: true, success: function( data ) { github_widget.createReposList(data.data); }}); }}); return this; }; })(jQuery);