(function(e){if("function"==typeof bootstrap)bootstrap("socialfeed",e);else if("object"==typeof exports)module.exports=e();else if("function"==typeof define&&define.amd)define(e);else if("undefined"!=typeof ses){if(!ses.ok())return;ses.makeSocialFeed=e}else"undefined"!=typeof window?window.SocialFeed=e():global.SocialFeed=e()})(function(){return function(e,t,i){function n(i,o){if(!t[i]){if(!e[i]){var s="function"==typeof require&&require;if(!o&&s)return s(i,!0);if(r)return r(i,!0);throw Error("Cannot find module '"+i+"'")}var a=t[i]={exports:{}};e[i][0].call(a.exports,function(t){var r=e[i][1][t];return n(r?r:t)},a,a.exports)}return t[i].exports}for(var r="function"==typeof require&&require,o=0;i.length>o;o++)n(i[o]);return n}({1:[function(e,t){var i=e("./api"),n=e("./controller"),r=e("./basemodule"),o=e("./utils"),s=function(e){return this instanceof s?(e.el||(e={el:e}),this.c=new n(e),void 0):new s};o.inherits(s,i),s.Modules={Disqus:e("./modules/disqus"),Github:e("./modules/github"),YouTubeUploads:e("./modules/youtubeuploads"),Delicious:e("./modules/delicious"),RSS:e("./modules/rss"),Vimeo:e("./modules/vimeo"),Tumblr:e("./modules/tumblr"),SocialBase:r,extend:function(e){return r.extend(e)}},t.exports=s},{"./api":2,"./controller":3,"./basemodule":4,"./utils":5,"./modules/disqus":6,"./modules/github":7,"./modules/youtubeuploads":8,"./modules/delicious":9,"./modules/rss":10,"./modules/vimeo":11,"./modules/tumblr":12}],2:[function(e,t){var i=t.exports=function(){};i.prototype={start:function(){return this.c.emit("start"),this},reload:function(){return this.c.emit("reload"),this},addModule:function(e){return this.c.emit("addModule",e),this},nextBulk:function(){return this.c.emit("nextBulk"),this},loadNumEntries:function(e){return this.c.emit("loadNumEntries",e),this},on:function(e,t){return this.c.on(e,t),this}}},{}],5:[function(e,t,i){i.timesince=function(e){e=new Date(e);var t=Math.floor((new Date-e)/1e3),i=Math.floor(t/31536e3);return i>1?i+" years ago":(i=Math.floor(t/2592e3),i>1?i+" months ago":(i=Math.floor(t/86400),i>1?i+" days ago":(i=Math.floor(t/3600),i>1?i+" hours ago":(i=Math.floor(t/60),i>1?i+" minutes ago":Math.floor(t)+" seconds ago"))))};var n=i.isFunc=function(e){return"[object Function]"==Object.prototype.toString.call(e)},r=i.isString=function(e){return"[object String]"==Object.prototype.toString.call(e)};i.result=function(e,t){if(null!=e){var i=e[t];return n(i)?i.call(e):i}},i.bind=function(e,t){var i=[].slice.call(arguments,2);return function(){return e.apply(t||this,i.concat([].slice.call(arguments)))}},i.has=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.extend=function(e){return[].slice.call(arguments,1).forEach(function(t){if(t)for(var i in t)e[i]=t[i]}),e},i.template=function(e,t){return e.replace(/{([^{}]*)}/g,function(e,i){var n=t[i];return"string"==typeof n||"number"==typeof n?n:e})},i.inherits=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})};var o=function(e){if(null==e)throw new TypeError("can't convert "+e+" to object");return Object(e)},s=Object("a"),a="a"!=s[0]||!(0 in s);Array.prototype.forEach||(Array.prototype.forEach=function(e){var t=o(this),i=a&&r(this)?this.split(""):t,s=arguments[1],u=-1,l=i.length>>>0;if(!n(e))throw new TypeError;for(;l>++u;)u in i&&e.call(s,i[u],u,t)}),Array.prototype.map||(Array.prototype.map=function(e){var t=o(this),i=a&&"[object String]"==_toString(this)?this.split(""):t,n=i.length>>>0,r=Array(n),s=arguments[1];if("[object Function]"!=_toString(e))throw new TypeError(e+" is not a function");for(var u=0;n>u;u++)u in i&&(r[u]=e.call(s,i[u],u,t));return r}),Array.prototype.filter||(Array.prototype.filter=function(e){var t,i=o(this),n=a&&"[object String]"==_toString(this)?this.split(""):i,r=n.length>>>0,s=[],u=arguments[1];if("[object Function]"!=_toString(e))throw new TypeError(e+" is not a function");for(var l=0;r>l;l++)l in n&&(t=n[l],e.call(u,t,l,i)&&s.push(t));return s})},{}],13:[function(e,t){var i=t.exports={};i.nextTick=function(){var e="undefined"!=typeof window&&window.setImmediate,t="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(e)return function(e){return window.setImmediate(e)};if(t){var i=[];return window.addEventListener("message",function(e){var t=e.source;if((t===window||null===t)&&"process-tick"===e.data&&(e.stopPropagation(),i.length>0)){var n=i.shift();n()}},!0),function(e){i.push(e),window.postMessage("process-tick","*")}}return function(e){setTimeout(e,0)}}(),i.title="browser",i.browser=!0,i.env={},i.argv=[],i.binding=function(){throw Error("process.binding is not supported")},i.cwd=function(){return"/"},i.chdir=function(){throw Error("process.chdir is not supported")}},{}],14:[function(e,t,i){(function(e){function t(e,t){if(e.indexOf)return e.indexOf(t);for(var i=0;e.length>i;i++)if(t===e[i])return i;return-1}e.EventEmitter||(e.EventEmitter=function(){});var n=i.EventEmitter=e.EventEmitter,r="function"==typeof Array.isArray?Array.isArray:function(e){return"[object Array]"===Object.prototype.toString.call(e)},o=10;n.prototype.setMaxListeners=function(e){this._events||(this._events={}),this._events.maxListeners=e},n.prototype.emit=function(e){if("error"===e&&(!this._events||!this._events.error||r(this._events.error)&&!this._events.error.length))throw arguments[1]instanceof Error?arguments[1]:Error("Uncaught, unspecified 'error' event.");if(!this._events)return!1;var t=this._events[e];if(!t)return!1;if("function"==typeof t){switch(arguments.length){case 1:t.call(this);break;case 2:t.call(this,arguments[1]);break;case 3:t.call(this,arguments[1],arguments[2]);break;default:var i=Array.prototype.slice.call(arguments,1);t.apply(this,i)}return!0}if(r(t)){for(var i=Array.prototype.slice.call(arguments,1),n=t.slice(),o=0,s=n.length;s>o;o++)n[o].apply(this,i);return!0}return!1},n.prototype.addListener=function(e,t){if("function"!=typeof t)throw Error("addListener only takes instances of Function");if(this._events||(this._events={}),this.emit("newListener",e,t),this._events[e])if(r(this._events[e])){if(!this._events[e].warned){var i;i=void 0!==this._events.maxListeners?this._events.maxListeners:o,i&&i>0&&this._events[e].length>i&&(this._events[e].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[e].length),console.trace())}this._events[e].push(t)}else this._events[e]=[this._events[e],t];else this._events[e]=t;return this},n.prototype.on=n.prototype.addListener,n.prototype.once=function(e,t){var i=this;return i.on(e,function n(){i.removeListener(e,n),t.apply(this,arguments)}),this},n.prototype.removeListener=function(e,i){if("function"!=typeof i)throw Error("removeListener only takes instances of Function");if(!this._events||!this._events[e])return this;var n=this._events[e];if(r(n)){var o=t(n,i);if(0>o)return this;n.splice(o,1),0==n.length&&delete this._events[e]}else this._events[e]===i&&delete this._events[e];return this},n.prototype.removeAllListeners=function(e){return 0===arguments.length?(this._events={},this):(e&&this._events&&this._events[e]&&(this._events[e]=null),this)},n.prototype.listeners=function(e){return this._events||(this._events={}),this._events[e]||(this._events[e]=[]),r(this._events[e])||(this._events[e]=[this._events[e]]),this._events[e]}})(e("__browserify_process"))},{__browserify_process:13}],4:[function(e,t){var i,n=e("events").EventEmitter,r=e("./utils"),o=window,s=t.exports=function(){if(this.collection=[],this.init.apply(this,arguments),i=s.$||o.jQuery||o.Zepto||o.$,!i)throw"jQuery or Zepto is required to use SocialFeed."};r.inherits(s,n),s.extend=function(e){var t=this,i=function(){return t.apply(this,arguments)};r.extend(i,t);var n=function(){this.constructor=i};return n.prototype=t.prototype,i.prototype=new n,e&&r.extend(i.prototype,e),i.__super__=t.prototype,i},s.fetch=function(e){return"jsonp"===e.dataType.toLowerCase()&&(e.callback=e.callbackParameter||"callback"),i.ajax(e)},r.extend(s.prototype,{ajaxSettings:{dataType:"jsonp",type:"GET"},init:function(e){this.ident=e},fetch:function(e){e=e?r.clone(e):{};var t=r.result(this,"url"),i=this,n=e.success;e.url=t,e.success=function(t){var r=i.parse(t);i.collection=r,n&&n(i,r,e),i.emit("fetched",i,r,e)};var o=e.error;return e.error=function(e,t){o&&o(i,t,e),i.emit("error",i,t,e)},!t&&this.data?(e.success(r.result(this,"data")),void 0):s.fetch(r.extend(this.ajaxSettings,e))},parse:function(e){return e},orderBy:function(){},render:function(){}})},{events:14,"./utils":5}],3:[function(e,t){var i=e("events").EventEmitter,n=e("./utils"),r=e("./basemodule"),o=r.$||window.jQuery||window.Zepto||window.$,s=t.exports=function(e){this.modules=[],this.feedRendered=null,this.$el=o(e.el)||o("#socialfeed"),this.count=e.count||1e3,this._offset=e.offset||0,this.on("start",n.bind(this.start,this)),this.on("reload",n.bind(this.reload)),this.on("addModule",n.bind(this.addModule)),this.on("postFetch",n.bind(this.render)),this.on("nextBulk",n.bind(this.nextBulk)),this.on("loadNumEntries",n.bind(this.loadNumEntries))};n.inherits(s,i),n.extend(s.prototype,{_sync_count:0,addModule:function(e){var t=this;this.modules.push(e),e.on("fetched",n.bind(t.moduleFetched,t)),e.on("error",function(){t.listeners("error").length>0&&t.emit.apply(t,["error"].concat(arguments)),t.moduleFetched()})},start:function(){var e=this;e.emit("preFetch"),e.modules.forEach(function(e){e.fetch()})},moduleFetched:function(e){this.emit("moduleAdded",e),++this._sync_count===this.modules.length&&(this.emit("postFetch",this.modules),this._sync_count=0)},reload:function(){this.$el.empty(),this._offset=0,this.feedRendered=null,this.start()},nextBulk:function(){return this.loadNumEntries(this.count)},loadNumEntries:function(e){if(this._offset>=this.feedRendered.length)return this;var t=this.count;return this.count=e,this.render(),this.count=t,this},render:function(){var e=this.$el;null===this.feedRendered&&(this.feedRendered=this._generateOrderedList(),this.emit("dataReady",this.feedRendered,this.modules));var t=this.feedRendered.slice(this._offset,this._offset+this.count);return t.forEach(function(t){e.append(t.html)}),this._offset+=this.count,this.emit("rendered",t),this},_generateOrderedList:function(){var e=[];return this.modules.forEach(function(t){if(t&&t.collection){var i=t.collection.map(function(e){var i=t.render(e);return i?{orderBy:t.orderBy(e),html:i}:null});i=i.filter(function(e){return null!==e}),e=e.concat(i)}}),this._orderList(e)},_orderList:function(e){return e.sort(function(e,t){var i=e.orderBy,n=t.orderBy;return i>n||void 0===i?1:n>=i||void 0===n?-1:void 0})}})},{events:14,"./utils":5,"./basemodule":4}],6:[function(e,t){var i=e("../basemodule"),n=e("../resources").disqus,r=e("../utils");t.exports=i.extend({init:function(e,t){this.ident=e,this.apikey=t},url:function(){return"https://disqus.com/api/3.0/users/listPosts.json?api_key="+this.apikey+"&user:username="+this.ident},parse:function(e){return e.response},orderBy:function(e){return-new Date(e.createdAt).getTime()},render:function(e){return r.template(n,{profile_url:e.author.profileUrl,author_name:e.author.name,created_at:e.createdAt,time_since:r.timesince(e.createdAt),message:e.message})}})},{"../basemodule":4,"../resources":15,"../utils":5}],7:[function(e,t){var i=e("../basemodule"),n=e("../resources"),r=e("../utils"),o={create:n.github_create,createbranch:n.github_createbranch,watch:n.github_watch,push:n.github_push,pullrequest:n.github_pullrequest,fork:n.github_fork,issue:n.github_issue},s=function(e){return"https://github.com/"+e.repo.name},a=function(e){return"https://github.com/"+e.actor.login},u=function(e,t){return r.template(o[e],{profile_url:a(t),username:t.actor.login,repo_name:t.repo.name,repo_url:s(t),time_since:r.timesince(t.created_at),created_at:t.created_at})},l={CreateEvent:!0,WatchEvent:!0,PushEvent:!0,PullRequestEvent:!0,ForkEvent:!0,IssuesEvent:!0};t.exports=i.extend({init:function(e,t){this.ident=e,this.show=r.extend(l,t)},url:function(){return"https://api.github.com/users/"+this.ident+"/events"},orderBy:function(e){return-new Date(e.created_at).getTime()},renderMethods:{CreateEvent:function(e){return null===e.payload.ref?u("create",e):r.template(u("createbranch",e),{branch_url:s(e)+"/tree/"+e.payload.ref,branch_name:e.payload.ref})},WatchEvent:function(e){return u("watch",e)},PushEvent:function(e){var t=$(u("push",e)),i=t.find(".socialfeed-commit-list"),n=i.find("li:first");return e.payload.commits.forEach(function(t){var r=n.clone();r.find("a").attr("href",s(e)+"/commit/"+t.sha).text(t.sha.substr(0,7)),r.find("span").text(t.message),i.prepend(r)}),n.remove(),t},PullRequestEvent:function(e){return r.template(u("pullrequest",e),{action:e.payload.action,title:e.payload.pull_request.title,pullrequest_url:e.payload.pull_request.html_url,pullrequest_name:e.repo.name+"#"+e.payload.number})},ForkEvent:function(e){return r.template(u("fork",e),{forkee_url:e.payload.forkee.html_url,forkee_name:e.payload.forkee.full_name})},IssuesEvent:function(e){return r.template(u("issue",e),{action:e.payload.action,title:e.payload.issue.title,issue_url:e.payload.issue.html_url,issue_name:e.repo.name+"#"+e.payload.number})}},parse:function(e){return e.data},render:function(e){return e.type&&this.renderMethods[e.type]&&this.show[e.type]?this.renderMethods[e.type].apply(this,[e]):null}})},{"../basemodule":4,"../utils":5,"../resources":15}],8:[function(e,t){var i=e("../basemodule"),n=e("../resources").youtubeuploads,r=e("../utils");t.exports=i.extend({ajaxSettings:{cache:!0,dataType:"jsonp"},init:function(e,t){this.ident=e,this.maxCount=t||10},url:function(){return"http://gdata.youtube.com/feeds/users/"+this.ident+"/uploads?alt=json-in-script&format=5&max-results="+this.maxCount},parse:function(e){var t=e.feed;return t.entry||[]},orderBy:function(e){return-new Date(e.updated.$t).getTime()},hideAndMakeYoutubeClickable:function(e,t){var i=$(t),n=i.find("iframe"),r=e.media$group.media$thumbnail[0].url,o=$("",{src:r,"class":"youtube-preview"}).insertAfter(n).on("click",function(){n.insertAfter(o),o.remove()});return n.remove(),i},render:function(e){var t=r.template(n,{profile_url:e.author[0].uri.$t,username:e.author[0].name.$t,video_url:e.link[0].href,video_name:e.title.$t,created_at:e.updated.$t,time_since:r.timesince(e.updated.$t),entry_id:e.id.$t.substring(38),desc:e.media$group.media$description.$t});return this.hideAndMakeYoutubeClickable(e,t)}})},{"../basemodule":4,"../resources":15,"../utils":5}],9:[function(e,t){var i=e("../basemodule"),n=e("../resources").delicious,r=e("../utils");t.exports=i.extend({url:function(){return"http://feeds.delicious.com/v2/json/"+this.ident},orderBy:function(e){return-new Date(e.dt).getTime()},render:function(e){return e.time_since=r.timesince(e.dt),r.template(n,e)}})},{"../basemodule":4,"../resources":15,"../utils":5}],10:[function(e,t){var i=e("../basemodule"),n=e("../resources").rss,r=e("../utils");t.exports=i.extend({init:function(e,t){this.feedURL=e,this.count=t||10},url:function(){return"http://ajax.googleapis.com/ajax/services/feed/load?v=1.0&num="+this.count+"&q="+encodeURIComponent(this.feedURL)},parse:function(e){var t=e.responseData.feed;return t?(this.blogname=t.title,this.blogurl=t.link,t.entries||[]):[]},orderBy:function(e){return-new Date(e.publishedDate).getTime()},render:function(e){return r.template(n,{blog_name:this.blogname,blog_url:this.blogurl,url:e.link,title:e.title,date:e.publishedDate,time_since:r.timesince(e.publishedDate)})}})},{"../basemodule":4,"../resources":15,"../utils":5}],11:[function(e,t){var i=e("../basemodule"),n=e("../resources"),r=e("../utils"),o={like:n.vimeo_like,add_comment:n.vimeo_add_comment,upload:n.vimeo_upload},s={like:!0,add_comment:!0,upload:!0},a=function(e,t){return r.template(o[e],{user_url:t.user_url,user_name:t.user_name,user_portrait:t.user_portrait_small,video_title:t.video_title,video_url:t.video_url,video_thumbnail_large:t.video_thumbnail_large,user_portrait:t.user_portrait_small,time_since:r.timesince(t.date),created_at:t.date})};t.exports=i.extend({ajaxSettings:{cache:!0,dataType:"jsonp"},init:function(e,t){this.ident=e,this.show=r.extend(s,t)},url:function(){return"http://vimeo.com/api/v2/activity/"+this.ident+"/user_did.json"},orderBy:function(e){return-new Date(e.date).getTime()},renderMethods:{like:function(e){return a("like",e)},add_comment:function(e){return r.template(a("add_comment",e),{comment_text:e.comment_text})},upload:function(e){return a("upload",e)}},render:function(e){return e.type&&this.renderMethods[e.type]&&this.show[e.type]?this.renderMethods[e.type].apply(this,[e]):null}})},{"../basemodule":4,"../resources":15,"../utils":5}],12:[function(e,t){var i=e("../basemodule"),n=e("../resources").tumblr,r=e("../utils");t.exports=i.extend({init:function(e,t){this.blogUrl=e,this.apiKey=t},url:function(){return"http://api.tumblr.com/v2/blog/"+this.blogUrl+"/posts/text?api_key="+this.apiKey},parse:function(e){return e.meta&&200===e.meta.status?e.response.posts||[]:[]},orderBy:function(e){return-new Date(e.date).getTime()},render:function(e){return e.time_since=r.timesince(e.date),r.template(n,e)}})},{"../basemodule":4,"../resources":15,"../utils":5}],15:[function(e,t){t.exports={delicious:'
\n \n
\n

{d}

\n \n
\n
\n {n}\n
\n
',disqus:'
\n \n
\n

{author_name}

\n \n
\n
\n {message}\n
\n
',github_create:'
\n \n
\n

\n {username} created repository {repo_name}\n

\n \n
\n
',github_createbranch:'
\n \n
\n

\n {username}\n created branch {branch_name}\n at {repo_name}

\n \n
\n
',github_fork:'
\n \n
\n

\n {username}\n forked repository {repo_name}\n to {forkee_name}\n

\n \n
\n
',github_issue:'
\n \n
\n

\n {username}\n {action} issue {issue_name}\n

\n \n
\n
\n {title}\n
\n
',github_pullrequest:'
\n \n
\n

\n {username}\n {action} pull request {pullrequest_name}\n

\n \n
\n
\n {title}\n
\n
',github_push:'
\n \n
\n

\n {username}\n pushed to {repo_name}\n

\n \n
\n \n
',github_watch:'
\n \n
\n

{username} starred {repo_name}

\n \n
\n
',rss:'
\n \n
\n

\n New blog post at\n {blogname}\n

\n \n
\n
\n {title}\n
\n
',tumblr:'
\n \n
\n

{title}

\n \n
\n
\n {body}\n\n

Notes: {note_count}

\n
\n
',vimeo_add_comment:'
\n \n
\n

{user_name} commented on {video_title} on Vimeo

\n \n
\n\n
\n {comment_text}\n
\n
',vimeo_like:'
\n \n
\n

{user_name} liked a video on Vimeo

\n \n
\n\n
\n

{video_title}

\n \n {video_title}\n \n
\n
',vimeo_upload:'
\n \n
\n

{user_name} uploaded a video on Vimeo

\n \n
\n\n
\n

{video_title}

\n \n {video_title}\n \n
\n
',youtubeuploads:'
\n \n
\n

{username} added a video: {video_name}

\n \n
\n
\n \n

{desc}

\n
\n
'}},{}]},{},[1])(1)});