Date.prototype.setISO8601=function(b){var c="([0-9]{4})(-([0-9]{2})(-([0-9]{2})(T([0-9]{2}):([0-9]{2})(:([0-9]{2})(.([0-9]+))?)?(Z|(([-+])([0-9]{2}):([0-9]{2})))?)?)?)?";var f=b.match(new RegExp(c));var e=0;var a=new Date(f[1],0,1);if(f[3]){a.setMonth(f[3]-1)}if(f[5]){a.setDate(f[5])}if(f[7]){a.setHours(f[7])}if(f[8]){a.setMinutes(f[8])}if(f[10]){a.setSeconds(f[10])}if(f[12]){a.setMilliseconds(Number("0."+f[12])*1000)}if(f[14]){e=(Number(f[16])*60)+Number(f[17]);e*=((f[15]=="-")?1:-1)}e-=a.getTimezoneOffset();time=(Number(a)+(e*60*1000));this.setTime(Number(time))};Eoraptor.withNS("GitHub",function(a){var c,b;a.showCommits=function(i){var h,g,f,e,d,k,j;if(!(!!(function(){for(var m=0,l=i.length;m<l;m++){if(i[m]==="commits"){return true}}})())){return null}a.commits=i.commits;a.container=$("#commit-listing");a.container.empty();f=[];d=a.commits.slice(0,10);for(e=0,k=d.length;e<k;e++){j=d[e];f.push(a.showCommit(j))}return f};b=function(d,e){return $("<span />",{"class":("gh-commit-"+d),html:e})};c=function(e){var d;d=new Date();d.setISO8601(e);return d};a.showCommit=function(h){var f,i,d,e,g;f=h.author;e=$("<li />",{"class":"github-commit"});f=$("<a />",{href:("http://github.com/"+f.login),text:f.name,"class":"gh-commit-author"});e.append(f);e.append(b("misc"," committed "));i=$("<a />",{href:h.url,html:Eoraptor.Util.truncate(h.message,45),"class":"gh-commit-message",title:h.message});e.append(i);e.append(b("misc"," about "));d=c(h.committed_date);g=b("commited-at","");Eoraptor.Util.attachUpdatingTimeAgo(g,d);e.append(g);e.append(b("misc"," ago."));return a.container.append(e)};a.commitsURL=function(){return"http://github.com/api/v2/json/commits/list/"+a.user+"/"+a.repository+"/master?callback="+(a.toNSName())+".showCommits"};a.loadCommits=function(){var e,d;if((typeof(e=a.user)!=="undefined"&&e!==null)&&(typeof(d=a.repository)!=="undefined"&&d!==null)){return $.getScript(a.commitsURL())}};a.setup=function(){a.user=$.metaAttr("github.user");a.repository=$.metaAttr("github.repository");return a.loadCommits()};return a.setup});