Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

v0.2.6 Add Google+ support - thanks to @skylamer

  • Loading branch information...
commit 529133b5446616a33a51833858c0e095ff73a53e 1 parent f6d0584
@christianv authored
View
4 COMMITTERS
@@ -8,6 +8,10 @@ Dinesh Copoosamy | dineshcooper
website: http://dinesh.co.za/
location: South Africa
+Mikhail Dimitrov
+ website: http://gplus.to/skylamer
+ location: Bulgaria
+
Giulio Mainardi | mgiulio
twitter: mgiulio
website: http://mgiulio.altervista.org/
View
1  README.md
@@ -29,6 +29,7 @@ Currently supports the following feeds:
* [Forrst](http://forrst.com)
* [Foursquare](http://foursquare.com)
* [Github](http://github.com)
+* [Google+](http://plus.google.com)
* [Google Reader](http://google.com/reader)
* [Instapaper](http://www.instapaper.com)
* [Iusethis](http://osx.iusethis.com/)
View
5 css/lifestream.css
@@ -13,10 +13,7 @@
.lifestream-forrst { background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC0klEQVR42pWT205TQRRAeTWaGA2BcBEQoRQpQYRiW/D0dgRKj4BSexUTVBAQEUULp1xKK6KkhYIak2KiD5jgg6j1EmOivOhn+AM++A3LaQUajS+eZGX2zOy99s4kJyfn9xcQJP+TQM5O8VFLxZYn4cOz6seb8ONZ8eEVeFb8mdW7fe5d9uJLCJb9aC2arR1J0p3w0BW2oMzIdE/ZUcJ2nDNWLi37uLgcwBm24gxZcE7bOT0lcsS9e8nN9iQ5SZfYKNNm2ickkWhFCYlVNRNLxYin4iK2oUwKpgSqhGPSjCt2LivouddDW1CidcKI86aZjnGJnkgXT749Z+3rOt5oN+3Bkzgm0jkmWm+ZOCdqdgVn5jtpGzUijxuwjpqwjbWgrqusbq0JnjC9PoVdnLVfb0a+JfJE3C1qdgXKbAfysAHz9QakawZax82sfEly/9MDwUMSn5OiqxXbkBFpNN2kAedcR1bgCNmRLjdg7q9HGtBz9dEQCx9XibyPMfculolHHl/FNFiHZfA4JwcbxXvJWYE0bEQfqOREoApDbw3zb+NE3sVF4UqGyPs4d8RjNvfq0Pt1NPq1SGLiXYGhv5FadwV1ZzV4ZtzMvl3MdHZP92ZITzKTuo8/6qLOVU69p4KWK01ZQdN5Hce6NOhcZUxszDL+MkxYSHxzffgF6Th9pm6EqRGC2s5SDH26rOC4uxqNUozjmsztVxFGNlTU1F0u3OmnN3oZ9c08Iy9Ubm/O4bzhoFYppd6nzQq0XUeoUgoYexoklFoguBkl+iFO38IQffeGMnFwM0Lo9V1uPpukWilBe+ZwVlDVcYhKOZ9yYz6FTbmU6nMpPHaQK7FRBhZHKKo/wCH9QUqMeRQ151FuK6bCUbwrCOwr3POjUi7ksF3QWkSZLZ8yUy7DS2MZSkRcbstDIxejOVVAmVzA/oK9P/74IwXf/8bobP5pUFp+/utup/gXFGW95GMvAM8AAAAASUVORK5CYII=);}
.lifestream-foursquare { background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6OTlDRUI5REY4QTI1MTFFMDg4M0REMUQxM0UxMjYzMjEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6OTlDRUI5RTA4QTI1MTFFMDg4M0REMUQxM0UxMjYzMjEiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo5OUNFQjlERDhBMjUxMUUwODgzREQxRDEzRTEyNjMyMSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo5OUNFQjlERThBMjUxMUUwODgzREQxRDEzRTEyNjMyMSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PhjLKwIAAAK7SURBVHjajFNLaBNRFD0zk6RpkknST9K0aVoQWtNKRXTjH0TwR6G4VDdC0aUL3Qi2Vmurxa26FFxVURREhdYPLgQRv/FTrVVi29jSkNREMs38Z7wzrWm6EJyZ+3jMvefcd989l9lw6ZkLwGmyw2RR/N8zQ3aNrN9By9nGSPBkc301Kj0uMAwDUzdgGCasF2CWYaYJzsFiLluI5md/nfopSBxLv7tjBNadLFKpLJJjKaR/L0AjnGEy0AmkarptBgWn5wVUCyIud62xKLutE4REQ0fuTgKxh2Mw5/OYDfuQO7oTwaYqsETiDfgouYlsboHARZzZuxq824IiZK/ZV5PYMZpEnYNHnmcQ+jqJj1dG8Gh7O9xODlt3rYVM1dQUiji3Lw5/pRODoxN2VVYJ8I9n0Oz1wxeugycQBFcVQGQ6Da4A5OVKjN5/B3+ugEHKHPA6cZ7AzwV1mUBycZAlEZIsQlEVaIoKgVwSx0HUDKyL1mKosw1BnwsXH3/Hk5wEnvfYBHYJmY4IXryeQvxHBoJEFygK2N/bhRTLQynKuHFsC4IeJ/puJfAgLSC2qh6irC4TuCJBvDywHhNPP2MhmcbmI9vQeWI3NgqK3UQLPHD3Cy7c/oB4RwiKFoZOXSkRKJKGilgNcoc2Yfr9FN7MSqgd+Ybje1rsoKF74xig7M0ttahpiaEoqbYmSgSypgH0MSyLprZGzChT6Bl+CyfH2HH9NxNoaOIRJp+ikbyo7X/1tUigGktSM4iE2tgeI2AKvdcT9t9Q1IvqeJQSGQQ2S8JkSiUs1WOr1XIQSYAA+qdJsCRWf2tDCVwmbFQsEWRUXQ+Z5aOi2yzwtdJs0WwoBCb0imliFgkylg6uOugOdBogtdxUDSrJ2KrO3pf5rFgLY02kdYI+t2m63KZ+kPaRFWnMf+yBObJhsp4/AgwAORM5gmDpaw4AAAAASUVORK5CYII=); }
.lifestream-github { background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAABGdBTUEAALGPC/xhBQAAAW5QTFRFBgYG7u7usrKyAAAACQkJc3Nzenp6sbGxsrKytLS0tra2ubm5vb29wcHBxMTEyMjIzMzM0NDQ1NTU2NjY29vb3d3d6+vrAAAAAAAAAwMDAwMDsLCwsLCws7Oz+/v7+fn58vLy7Ozs6urq5+fn4eHh1tbWzc3NzMzMy8vLxsbGv7+/vb29tbW1srKypqampaWlpKSkoqKinZ2dnJycmpqamZmZh4eHhYWFgICAe3t7enp6eHh4b29vaWlpaGhoZWVlYWFhXV1dWlpaVVVVUlJSUFBQSUlJREREQ0NDQUFBPj4+Ojo6Nzc3NjY2LS0tKysrJSUlJCQkISEhHx8fHBwcDAwMCwsLCgoKAwMD5ubm4uLi4ODg29vb1dXVioqKc3NzODg4JiYmICAg/Pz86Ojo5eXl5OTk3Nzc2dnZzs7O////9vb26enp39/f3d3d2tra9/f39fX19PT07u7u6+vr4+Pj3t7e8/Pz8fHx+vr6ri6J2AAAAB50Uk5THfDyCRydX/KAg4CAgICAgICAg10GkOsEBgkK8O/yADJQmgAAAPVJREFUGNM9xNVWAlEUANDj0N3Yit3diYrdikvpcLp77uXvHV/YDxuyufxAXz6XhYxJ9lwTguBOmhlII1EXRQ1tzZOaLqI0pLCBdK0n/+wLyDBwCpIm1nG9MLWAD04RNpOQsNDc7cd9q737VTnUrATEJe3yYamy9rp38cgZVBxiVaP93Co73fXjG0GiYxCtSUr5bgX/bpx0bNqOQkSmmc8zhnnbXP2+tmYjEFamd17Ou9uyRC1yFhuGoGpePfHvR5OyYttOIwihZm251ClSdU5V1UYzBH6eta2qPsM6LoX3w7BvlCDGAwHi35hvBAY9Xujzeob+ADlGRKgafQ2qAAAAAElFTkSuQmCC);}
-.lifestream-googleplus {
-background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAz5JREFUOI0l08trnFUYgPHnPd/5LjOTaZppksm105oUatTULBR0IbgpilBRi8UbiGShggpdeAFR0YULRYVWpStRrApiFVFbvFASBI2LpommTVOqJsTcp5lmMjOZy3deF/kbnt8j+sSd439enjlgw9ApxsQuFvEsAMQxNt2MQ8EpALpVVi8MHWJkf6ZlUibvHtDWu+7H696rQdceiTK7aFTKoIpECdZ++obSz19jrAXr0/PSu6x+eky3Lo6LswlM//FTztxwiy59/6XMn/xQN8sVmm6+Dc1kmf3kfTZGT2OCCIxF/YjU0O1qMlkBo14i6aymm83i2y8SuoY652T+tadIHv+KVEc3ycCntL5Gww9w5U1IpmlUylLPr2htbUlcpSp2658ZrPVRmxAvCHFry1wdOUPPo0/TfPABiud+o/+dkxg/QAGbSJJ74S1xz7wKxsMG2W6wPlqrEscOFKqXp9A4RjyLixusjo+BCGJ9enL7WJ+5QGX+XyQIsWFHN2FuH5Xzv+N37SYuFWkU8ojnUboyjRY3yH/wBq5UhFSajoP3kf/iBKXRH4hTLRg/jOh8/DnUeNQW52mUy3Q8OMzmf3Msf34Cm24myLST6MoRdfbip1JEHT1EnbuJunqRpXNj2j50K1sLcxR++ZamgSE0k2Xm6CMExQIEIRo3EAX1LenDw5TOfofO/03VC5DRO/p1x/6b8HP99B99nSCKmBw+RHzxPLY1S1wqbhsAUKV2rYCXTGHDkEq1jokSSXTyD4qnPqZ05RK1Spn2Qw9BEBKXiogNcHGMOkUVwtbsdpHYoarY6toK6YFBgqYdbG1cI51IsvOeI5jWLItvPo8rFpAwwsUxIkJcKaMiGBGcKjJ79ozSaFCZn9X6yoLYXW1k732YqLWNzakJFl5+EreeB9+Cc4gYUKciIqV6A++xve2vFD56j8qvP4qbntDK2IisT03iX3c9qRsPoGGS4shpJEpu2wB1qiKgdacqI4Otmmlrw3lWVVXEWhr5VeLePnLHPsOtX2Xh2SMYVRSQ7SvVMyIbWzXsnr6+ibnllUHZHtbEzolNZ6hd+ovC9AXUOQpreYKdLbh6HSOiBpxTZ3padkz+D9tEiZnLqUprAAAAAElFTkSuQmCC)
-}
-
+.lifestream-googleplus { background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAz5JREFUOI0l08trnFUYgPHnPd/5LjOTaZppksm105oUatTULBR0IbgpilBRi8UbiGShggpdeAFR0YULRYVWpStRrApiFVFbvFASBI2LpommTVOqJsTcp5lmMjOZy3deF/kbnt8j+sSd439enjlgw9ApxsQuFvEsAMQxNt2MQ8EpALpVVi8MHWJkf6ZlUibvHtDWu+7H696rQdceiTK7aFTKoIpECdZ++obSz19jrAXr0/PSu6x+eky3Lo6LswlM//FTztxwiy59/6XMn/xQN8sVmm6+Dc1kmf3kfTZGT2OCCIxF/YjU0O1qMlkBo14i6aymm83i2y8SuoY652T+tadIHv+KVEc3ycCntL5Gww9w5U1IpmlUylLPr2htbUlcpSp2658ZrPVRmxAvCHFry1wdOUPPo0/TfPABiud+o/+dkxg/QAGbSJJ74S1xz7wKxsMG2W6wPlqrEscOFKqXp9A4RjyLixusjo+BCGJ9enL7WJ+5QGX+XyQIsWFHN2FuH5Xzv+N37SYuFWkU8ojnUboyjRY3yH/wBq5UhFSajoP3kf/iBKXRH4hTLRg/jOh8/DnUeNQW52mUy3Q8OMzmf3Msf34Cm24myLST6MoRdfbip1JEHT1EnbuJunqRpXNj2j50K1sLcxR++ZamgSE0k2Xm6CMExQIEIRo3EAX1LenDw5TOfofO/03VC5DRO/p1x/6b8HP99B99nSCKmBw+RHzxPLY1S1wqbhsAUKV2rYCXTGHDkEq1jokSSXTyD4qnPqZ05RK1Spn2Qw9BEBKXiogNcHGMOkUVwtbsdpHYoarY6toK6YFBgqYdbG1cI51IsvOeI5jWLItvPo8rFpAwwsUxIkJcKaMiGBGcKjJ79ozSaFCZn9X6yoLYXW1k732YqLWNzakJFl5+EreeB9+Cc4gYUKciIqV6A++xve2vFD56j8qvP4qbntDK2IisT03iX3c9qRsPoGGS4shpJEpu2wB1qiKgdacqI4Otmmlrw3lWVVXEWhr5VeLePnLHPsOtX2Xh2SMYVRSQ7SvVMyIbWzXsnr6+ibnllUHZHtbEzolNZ6hd+ovC9AXUOQpreYKdLbh6HSOiBpxTZ3padkz+D9tEiZnLqUprAAAAAElFTkSuQmCC);}
.lifestream-googlereader { background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAABGdBTUEAALGPC/xhBQAAAQJQTFRFAAAA+eLindptnNlqm9domNRmldJhl9Jiusv8jspYicZSprv1grJYfatSqqmp6Keniqb/eqVReaNPd6JOdqFMdZ5LcZpJb5hHqpaWbZZF4JOU35CS3o+P4Y6N342MY4v/3oeH3oaGXYb8pYWF3oWF24SA3YSD34OF239/UX7/3Hx8RHnUoXNzOGz/M2vKNGn/KGLu1F5d01lY0llZ01ZWDlXaCVTSB0/Q0E5QAkq2mkJC2d7uytbwfp/3VoL3TXr/2nR0Hlr34+r8ka7/eZv/bZP/ao/sQnL/OnDjLGbuIWHUnrf/g7JYrKysQ3foJ2bToN1vF13Z4pOTz0hI////DkSagqCk6AAAAAF0Uk5TAEDm2GYAAADLSURBVBjTRY/nVsJQEIRXFBEVAQWxAEqxi2JFeklPSMJNZt//VbwklO/ffGf2nFkiovlxJn96ViielyhivlgkdveSqf304eVahBtiEQYxlerDNxFvaNzdPn8QDx1H1W5GXsvn6+b9J7EC4Ojp3fLbfFG++iPODaSBZk1tdrO1kFgzDLUP6PaU3Z1HKYaAM3YAU7CLiRSqPBgYfSg/K+FZoxkUHfjlEwRS1KGPMRPAG78GX8tGlMQBfO4tp7MwPfFidmy/y/Gz2+lR/AfuwTtvA8hEhAAAAABJRU5ErkJggg==);}
.lifestream-instapaper { background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC7mlDQ1BJQ0MgUHJvZmlsZQAAeAGFVM9rE0EU/jZuqdAiCFprDrJ4kCJJWatoRdQ2/RFiawzbH7ZFkGQzSdZuNuvuJrWliOTi0SreRe2hB/+AHnrwZC9KhVpFKN6rKGKhFy3xzW5MtqXqwM5+8943731vdt8ADXLSNPWABOQNx1KiEWlsfEJq/IgAjqIJQTQlVdvsTiQGQYNz+Xvn2HoPgVtWw3v7d7J3rZrStpoHhP1A4Eea2Sqw7xdxClkSAog836Epx3QI3+PY8uyPOU55eMG1Dys9xFkifEA1Lc5/TbhTzSXTQINIOJT1cVI+nNeLlNcdB2luZsbIEL1PkKa7zO6rYqGcTvYOkL2d9H5Os94+wiHCCxmtP0a4jZ71jNU/4mHhpObEhj0cGDX0+GAVtxqp+DXCFF8QTSeiVHHZLg3xmK79VvJKgnCQOMpkYYBzWkhP10xu+LqHBX0m1xOv4ndWUeF5jxNn3tTd70XaAq8wDh0MGgyaDUhQEEUEYZiwUECGPBoxNLJyPyOrBhuTezJ1JGq7dGJEsUF7Ntw9t1Gk3Tz+KCJxlEO1CJL8Qf4qr8lP5Xn5y1yw2Fb3lK2bmrry4DvF5Zm5Gh7X08jjc01efJXUdpNXR5aseXq8muwaP+xXlzHmgjWPxHOw+/EtX5XMlymMFMXjVfPqS4R1WjE3359sfzs94i7PLrXWc62JizdWm5dn/WpI++6qvJPmVflPXvXx/GfNxGPiKTEmdornIYmXxS7xkthLqwviYG3HCJ2VhinSbZH6JNVgYJq89S9dP1t4vUZ/DPVRlBnM0lSJ93/CKmQ0nbkOb/qP28f8F+T3iuefKAIvbODImbptU3HvEKFlpW5zrgIXv9F98LZua6N+OPwEWDyrFq1SNZ8gvAEcdod6HugpmNOWls05Uocsn5O66cpiUsxQ20NSUtcl12VLFrOZVWLpdtiZ0x1uHKE5QvfEp0plk/qv8RGw/bBS+fmsUtl+ThrWgZf6b8C8/UXAeIuJAAAACXBIWXMAAAsTAAALEwEAmpwYAAACVElEQVQ4EW1Ty1LbQBBsWStZIhRlG1z4Frgm+QM+JcmVfAB/wzWp8BfkQo7hRg6ECtxCAGODJUvWM91jXJWD5VKtd3dmuqd75NV13WLN07YtPM+DVsDj/zVBPHJVVVlgp9NBXTc8WiYu97VlqVDTrMWBIwNDUcL/STrv+D6xgaqq4fsdAuklhLFSbQ+uKEo7FIoCgsAhSRIcHx/j4ucFwiDE1tYWDg8/YX9/H4tFYUCrFr2/d3etkJnOFmqEYQjnfMxmCY6OjnBy8hWXl78wHA7tvmWLHQKtHldTg4q7wAVGLcsyK7Az3MHe3mscHByg3++jKIqXAhSOrRkDAruiLK3HKqCY/EnUpmnYszPhZrMZnvmKpc9EEkBDsRXDcLj5fG4XDekr2VED3WRZjjzPmOgbehAEqCmmkJfJnrF2ClTlkAEqIKraq880nSOOI8RRhGSewvd8VC+uyZ1sznYLqqrDKOqaLqqu5JqrBEvT1JSPuxEexo8WIwDFqRWXL3JDLqlFtxui4tqQZj/o09KAgga4f7jH9mAbGxsbJqR0WdrI2cnz3KxTgaenZ/hO4tW4vrnB1dUVzs9/4Pr3Nf7c3lqSbNbEynJjWxaVicNbW4uywng8wfezM7x98w7vP3zE6bdTayPPF0xqjVmSpBCo9/nLSeuIKvrqvaSQEUXT5ebmJmm/MupFsTCtppMpRqMRpk9TpJxYp9kWFY1vr9eHTyZxHNsrutJoMnlctsfvYfXt7O7uWitmoxwwOqw2GAzMyoRCrSyTThplTalsfhyPzeper4d/Vr6G2WILyEwAAAAASUVORK5CYII=); }
.lifestream-iusethis { background-image: url(data:image/png;base64,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);}
View
2  download/js/script.min.js
@@ -1 +1 @@
-function fetchServices(){$.n("Fetching available services..."),$.ajax({url:"services.json",dataType:"json"}).done(buildUI).fail(function(){$.n.error("Could not load service list. Please try reloading page.")})}function buildUI(a){$.n(a.length+" services available"),function(b,c,d,e,f){for(c=0,d=$("legend"),e=$('<div class="col"></div>').insertAfter(d);c<b;++c,d=e,e=$('<div class="col"></div>').insertAfter(d))for(f=c;f<a.length;f+=b)e.append('<div><label for="'+a[f]+'">'+'<input type="checkbox" id="'+a[f]+'">'+a[f]+"</label></div>")}(4),checkboxes=$('input[type="checkbox"]').extend({enable:function(){return this.each(function(){$(this).removeAttr("disabled")}),this},disable:function(){return this.each(function(){$(this).attr("disabled","disabled")}),this}}),buttons.build.disable().click(function(a){a.preventDefault(),build()}),$("form").delegate('form input[type="checkbox"]',"change",function(){var a=0;return function(){this.checked?a++:a--;if(typeof uglify=="undefined")return;a>0?buttons.build.enable():buttons.build.disable()}}()),Downloadify.create("button-bar",{filename:function(){return"jquery.lifestream.custom.min.js"},data:function(){return builtScript},onComplete:onDownloadComplete,onError:function(){alert("You must put something in the File Contents or there will be nothing to save!")},transparent:!1,swf:"js/downloadify.swf",downloadImage:"img/download.png",width:100,height:30,append:!0}),setTimeout(function(){buttons.download=$("#button-bar > object").extend({enable:function(){return this.css({visibility:"visible"}),this},disable:function(){return this.css({visibility:"hidden"}),this}}),buttons.download.disable()},0),$.n("Loading UglifyJS..."),$.getScript("js/uglifyjs-cs.min.js").fail(function(){$.n.error("Could not load UglifyJS. Please reload the page")}).done(function(){$.n("UglifyJS received")})}function build(){$.n("Build started"),checkboxes.disable(),buttons.build.disable(),buildScript($('input[type="checkbox"]').filter(":checked").map(function(){return $(this).attr("id")}).get(),onBuildCompleted,onBuildFailure)}function onBuildCompleted(a){$.n("Build completed"),builtScript=a,buttons.download.enable()}function onBuildFailure(){$.n.error("Build failed, please retry"),builtScript="",checkboxes.enable(),buttons.build.enable()}function onDownloadComplete(){checkboxes.enable(),buttons.download.disable(),buttons.build.enable()}function buildScript(a,b,c){function f(a,b,c){b=="abort"?$.n.error("Aborted "+this.url):$.n.error("Could not retrieve module "+this.url+": "+a.status)}var d=[],e=[];$.n("Fetching src modules..."),$.ajax({url:"../src/core.js",dataType:"text",cache:!1}).fail(function(a,b,d){f.apply(this,arguments),c()}).done(function(g){d.push(g),$.whenArray(e=$.map(a,function(a){return $.ajax({url:"../src/services/"+a+".js",dataType:"text",cache:!1}).done(function(a){d.push(a)}).fail(function(a,b,c){f.apply(this,arguments)})})).done(function(){$.n("All src moduled received"),$.n("Uglification..."),b(uglify(d.join(";")))}).fail(function(){var a,b;for(a=0;a<e.length;++a)b=e[a],b.isResolved()||b.abort();c()})})}function parseQueryString(){var a={};window.location.search.replace(new RegExp("([^?=&]+)(=([^&]*))?","g"),function(b,c,d,e){a[c]=e}),a.mock=a.mock==="true",a.mock?($.n("Fetching Mockjax..."),$.getScript("js/jquery.mockjax.min.js").fail(function(){$.n.warning("Could not load Mockjax")}).done(function(){$.n("Received Mockjax");var b={errorProb:.5,minTime:0,maxTime:1e4};a.errorProb&&(a.errorProb=Number(a.errorProb)),a.minTime&&(a.minTime=Number(a.minTime)),a.maxTime&&(a.maxTime=Number(a.maxTime)),$.extend(b,a),$.n("Start mocking: "+JSON.stringify(b)),$.mockjax(function(a){var c=Math.random()<b.errorProb,d={responseTime:b.minTime+Math.random()*(b.maxTime-b.minTime)};return c?d.status=404:d.proxy=a.url,d})}).always(fetchServices)):fetchServices()}var buttons={build:$("#button").extend({enable:function(){return this.removeAttr("disabled"),this},disable:function(){return this.attr("disabled","disabled"),this}}).disable(),download:undefined},checkboxes,builtScript="";$.whenArray=function(a){return $.when.apply(this,a)},$.n.defaults.timeout=16e3,parseQueryString()
+function fetchServices(){$.n("Fetching available services..."),$.ajax({url:"services.json",dataType:"json"}).done(buildUI).fail(function(){$.n.error("Could not load service list. Please try reloading page.")})}function buildUI(a){$.n(a.length+" services available"),function(b,c,d,e,f){for(c=0,d=$("legend"),e=$('<div class="col"></div>').insertAfter(d);c<b;++c,d=e,e=$('<div class="col"></div>').insertAfter(d))for(f=c;f<a.length;f+=b)e.append('<div><label for="'+a[f]+'">'+'<input type="checkbox" id="'+a[f]+'">'+a[f]+"</label></div>")}(4),checkboxes=$('input[type="checkbox"]').extend({enable:function(){return this.each(function(){$(this).removeAttr("disabled")}),this},disable:function(){return this.each(function(){$(this).attr("disabled","disabled")}),this}}),buttons.build.disable().click(function(a){a.preventDefault(),build()}),$("form").delegate('form input[type="checkbox"]',"change",function(){var a=0;return function(){this.checked?a++:a--;if(typeof uglify=="undefined")return;a>0?buttons.build.enable():buttons.build.disable()}}()),Downloadify.create("button-bar",{filename:function(){return"jquery.lifestream.custom.min.js"},data:function(){return builtScript},onComplete:onDownloadComplete,onError:function(){alert("You must put something in the File Contents or there will be nothing to save!")},transparent:!1,swf:"js/downloadify.swf",downloadImage:"img/download.png",width:100,height:30,append:!0}),setTimeout(function(){buttons.download=$("#button-bar > object").extend({enable:function(){return this.css({visibility:"visible"}),this},disable:function(){return this.css({visibility:"hidden"}),this}}),buttons.download.disable()},0),$.n("Loading UglifyJS..."),$.getScript("js/uglifyjs-cs.min.js").fail(function(){$.n.error("Could not load UglifyJS. Please reload the page")}).done(function(){$.n("UglifyJS received")})}function build(){$.n("Build started"),checkboxes.disable(),buttons.build.disable(),buildScript($('input[type="checkbox"]').filter(":checked").map(function(){return $(this).attr("id")}).get(),onBuildCompleted,onBuildFailure)}function onBuildCompleted(a){$.n("Build completed"),builtScript=a,buttons.download.enable()}function onBuildFailure(){$.n.error("Build failed, please retry"),builtScript="",checkboxes.enable(),buttons.build.enable()}function onDownloadComplete(){checkboxes.enable(),buttons.download.disable(),buttons.build.enable()}function buildScript(a,b,c){function f(a,b,c){b=="abort"?$.n.error("Aborted "+this.url):$.n.error("Could not retrieve module "+this.url+": "+a.status)}var d=[],e=[];$.n("Fetching src modules..."),$.ajax({url:"../src/core.js",dataType:"text",cache:!1}).fail(function(a,b,d){f.apply(this,arguments),c()}).done(function(g){d.push(g),$.whenArray(e=$.map(a,function(a){return $.ajax({url:"../src/services/"+a+".js",dataType:"text",cache:!1}).done(function(a){d.push(a)}).fail(function(a,b,c){f.apply(this,arguments)})})).done(function(){$.n("All src moduled received"),$.n("Uglification..."),b(uglify(d.join(";")))}).fail(function(){var a,b;for(a=0;a<e.length;++a)b=e[a],b.isResolved()||b.abort();c()})})}function parseQueryString(){var a={};window.location.search.replace(new RegExp("([^?=&]+)(=([^&]*))?","g"),function(b,c,d,e){a[c]=e}),a.mock=a.mock==="true",a.mock?($.n("Fetching Mockjax..."),$.getScript("js/jquery.mockjax.min.js").fail(function(){$.n.warning("Could not load Mockjax")}).done(function(){$.n("Received Mockjax");var b={errorProb:.5,minTime:0,maxTime:1e4};a.errorProb&&(a.errorProb=Number(a.errorProb)),a.minTime&&(a.minTime=Number(a.minTime)),a.maxTime&&(a.maxTime=Number(a.maxTime)),$.extend(b,a),$.n("Start mocking: "+JSON.stringify(b)),$.mockjax(function(a){var c=Math.random()<b.errorProb,d={responseTime:b.minTime+Math.random()*(b.maxTime-b.minTime)};return c?d.status=404:d.proxy=a.url,d})}).always(fetchServices)):fetchServices()}var buttons={build:$("#button").extend({enable:function(){return this.removeAttr("disabled"),this},disable:function(){return this.attr("disabled","disabled"),this}}).disable(),download:undefined},checkboxes,builtScript="";$.whenArray=function(a){return $.when.apply(this,a)},$.n.defaults.timeout=16e3,parseQueryString();
View
BIN  download/js/uglifyjs-cs.min.js
Binary file not shown
View
2  download/services.json
@@ -1 +1 @@
-["bitbucket","bitly","blogger","dailymotion","delicious","deviantart","digg","dribbble","facebook_page","flickr","foomark","formspring","forrst","foursquare","github","googlereader","instapaper","iusethis","lastfm","librarything","mlkshk","picplz","pinboard","posterous","reddit","slideshare","snipplr","stackoverflow","tumblr","twitter","vimeo","wikipedia","wordpress","youtube"]
+["bitbucket","bitly","blogger","dailymotion","delicious","deviantart","digg","dribbble","facebook_page","flickr","foomark","formspring","forrst","foursquare","github","googleplus","googlereader","instapaper","iusethis","lastfm","librarything","mlkshk","picplz","pinboard","posterous","reddit","slideshare","snipplr","stackoverflow","tumblr","twitter","vimeo","wikipedia","wordpress","youtube"]
View
12 example.html
@@ -131,12 +131,12 @@
service: 'forrst',
user: 'thatryan'
},
- //YOUR_API_KEY for key
- {
- service: 'googleplus',
- user: '112594588017353316971',
- key: 'AIzaSyBlPFEtp50vfgUHhe5Jza_7NvxvYqNRsgg'
- },
+ // Change the key when you're using it on your own website
+ {
+ service: 'googleplus',
+ user: '112594588017353316971',
+ key: 'AIzaSyCB8pKtPwGWkOMfe49CopUM40F6seVv5AE'
+ },
// Run javascript:alert(_USER_ID); when you're logged in at google reader
{
service: 'googlereader',
View
114 jquery.lifestream.js
@@ -977,6 +977,62 @@ $.fn.lifestream.feeds.github = function( config, callback ) {
};
})(jQuery);
+(function($) {
+$.fn.lifestream.feeds.googleplus = function( config, callback ) {
+
+ var template = $.extend({},
+ {
+ posted: '<a href="${actor.url}">${actor.displayName}</a> has posted a new entry <a href="${url}" '
+ + 'title="${id}">${title}</a> <!--With--> ${object.replies.totalItems} replies, ${object.plusoners.totalItems} +1s, ${object.resharers.totalItems} Reshares'
+ },
+ config.template),
+
+ parseGooglePlus = function( input ) {
+ var output = [], i = 0, j, item;
+
+ if(input && input.items) {
+ j = input.items.length;
+ for( ; i<j; i++) {
+ item = input.items[i];
+ output.push({
+ date: new Date( item.published ),
+ config: config,
+ html: $.tmpl( template.posted, item )
+ });
+ }
+ }
+
+ return output;
+ };
+
+ $.ajax({
+ url: "https://www.googleapis.com/plus/v1/people/" + config.user +
+ "/activities/public",
+ data: {
+ key: config.key
+ },
+ dataType: 'jsonp',
+ success: function( data ) {
+ if (data.error) {
+ callback([]);
+ if (console && console.error) {
+ console.error('Error loading Google+ stream.', data.error);
+ }
+ return;
+ } else {
+ callback(parseGooglePlus(data));
+ }
+ }
+ });
+
+ // Expose the template.
+ // We use this to check which templates are available
+ return {
+ "template" : template
+ };
+
+};
+})(jQuery);
(function($) {
$.fn.lifestream.feeds.googlereader = function( config, callback ) {
@@ -1965,8 +2021,8 @@ $.fn.lifestream.feeds.wikipedia = function( config, callback ) {
for( ; i<j; i++) {
var item = data.query.usercontribs[i];
-
- // Fastest way to get the URL.
+
+ // Fastest way to get the URL.
// Alternatively, we'd have to poll wikipedia for the pageid's link
item.url = 'http://' + language + '.wikipedia.org/wiki/'
+ item.title.replace(' ', '_');
@@ -2085,58 +2141,4 @@ $.fn.lifestream.feeds.youtube = function( config, callback ) {
};
};
-})(jQuery);(function($) {
-$.fn.lifestream.feeds.googleplus = function( config, callback ) {
-
- var template = $.extend({},
- {
- posted: '<a href="${actor.url}">${actor.displayName}</a> has posted a new entry <a href="${url}" '
- + 'title="${id}">${title}</a> <!--With--> ${object.replies.totalItems} replies, ${object.plusoners.totalItems} +1s, ${object.resharers.totalItems} Reshares'
- },
- config.template),
-
- parseGooglePlus = function( input ) {
- var output = [], i = 0, j, item;
-
- if(input && input.items) {
- j = input.items.length;
- for( ; i<j; i++) {
- item = input.items[i];
- output.push({
- date: new Date(item.published),
- config: config,
- html: $.tmpl( template.posted, item )
- });
- }
- }
-
- return output;
- };
-
- $.ajax({
- url: "https://www.googleapis.com/plus/v1/people/" + config.user +
- "/activities/public",
- data:{
- key: config.key
- },
- dataType: 'jsonp',
- success: function( data ) {
- if (data.error) {
- callback([]);
- if (console && console.error) {
- console.error('Error loading Google+ stream.', data.error);
- }
- return;
- }
- callback(parseGooglePlus(data));
- }
- });
-
- // Expose the template.
- // We use this to check which templates are available
- return {
- "template" : template
- };
-
-};
})(jQuery);
View
2  jquery.lifestream.min.js
@@ -4,4 +4,4 @@
* Show a stream of your online activity
*
* Copyright 2011, Christian Vuerings - http://denbuzze.com
- *//*globals jQuery, $ */(function(a){a.fn.lifestream=function(b){return this.each(function(){var c=a(this),d=jQuery.extend({classname:"lifestream",feedloaded:null,limit:10,list:[]},b),e={count:d.list.length,items:[]},f=jQuery.extend(!0,{},d),g=function(b){a.merge(e.items,b),e.items.sort(function(a,b){return b.date-a.date});var f=e.items,g=f.length<d.limit?f.length:d.limit,h=0,i,j=a('<ul class="'+d.classname+'"/>');for(;h<g;h++)i=f[h],i.html&&a('<li class="'+d.classname+"-"+i.config.service+'">').data("name",i.config.service).data("url",i.url||"#").data("time",i.date).append(i.html).appendTo(j);c.html(j),a.isFunction(d.feedloaded)&&d.feedloaded()},h=function(){var b=0,c=d.list.length;delete f.list;for(;b<c;b++){var e=d.list[b];a.fn.lifestream.feeds[e.service]&&a.isFunction(a.fn.lifestream.feeds[e.service])&&e.user&&(e._settings=f,a.fn.lifestream.feeds[e.service](e,g))}};jQuery.tmpl?h():jQuery.getScript("https://raw.github.com/jquery/jquery-tmpl/master/jquery.tmpl.min.js",h)})},a.fn.lifestream.createYqlUrl=function(a){return"http://query.yahooapis.com/v1/public/yql?q=__QUERY__&env=store://datatables.org/alltableswithkeys&format=json".replace("__QUERY__",encodeURIComponent(a))},a.fn.lifestream.feeds=a.fn.lifestream.feeds||{}})(jQuery),function(a){a.fn.lifestream.feeds.bitbucket=function(b,c){var d=a.extend({},{commit:'<a href="http://bitbucket.org/${owner}/${name}/changeset/${node}/">committed</a> at <a href="http://bitbucket.org/${owner}/${name}/">${owner}/${name}</a>',pullrequest_fulfilled:'fulfilled a pull request at <a href="http://bitbucket.org/${owner}/${name}/">${owner}/${name}</a>',pullrequest_rejected:'rejected a pull request at <a href="http://bitbucket.org/${owner}/${name}/">${owner}/${name}</a>',pullrequest_created:'created a pull request at <a href="http://bitbucket.org/${owner}/${name}/">${owner}/${name}</a>',create:'created a new project at <a href="http://bitbucket.org/${owner}/${name}/">${owner}/${name}</a>',fork:'forked <a href="http://bitbucket.org/${owner}/${name}/">${owner}/${name}</a>'},b.template),e=["commit","pullrequest_fulfilled","pullrequest_rejected","pullrequest_created","create","fork"],f=function(b){if(a.inArray(b.event,e)!==-1&&b.repository)return b.event==="commit"?a.tmpl(d.commit,{owner:b.repository.owner,name:b.repository.name,node:b.node}):a.tmpl(d[b.event],{owner:b.repository.owner,name:b.repository.name})},g=function(c){var d=[],e=0;return c.query&&c.query.count&&c.query.count>0&&a.each(c.query.results.json,function(){d.push({date:new Date(this.events.created_on.replace(/-/g,"/")),config:b,html:f(this.events)})}),d};return a.ajax({url:a.fn.lifestream.createYqlUrl('select events.event,events.node, events.created_on,events.repository.name, events.repository.owner from json where url = "https://api.bitbucket.org/1.0/users/'+b.user+'/events/"'),dataType:"jsonp",success:function(a){c(g(a))}}),{template:d}}}(jQuery),function(a){a.fn.lifestream.feeds.bitly=function(b,c){var d=a.extend({},{created:'created URL <a href="${short_url}" title="${title}">${short_url}</a>'},b.template);return a.ajax({url:a.fn.lifestream.createYqlUrl('select data.short_url, data.created, data.title from json where url="http://bitly.com/u/'+b.user+'.json"'),dataType:"jsonp",success:function(e){var f=[],g=0,h;if(e.query&&e.query.count&&e.query.results.json){list=e.query.results.json,h=list.length;for(;g<h;g++){var i=list[g].data;f.push({date:new Date(i.created*1e3),config:b,html:a.tmpl(d.created,i)})}}c(f)}}),{template:d}}}(jQuery),function(a){a.fn.lifestream.feeds.blogger=function(b,c){var d=a.extend({},{posted:'posted <a href="${origLink}">${title}</a>'},b.template),e=function(c){var e=[],f,g=0,h,i,j,k;if(c.query&&c.query.count&&c.query.count>0&&c.query.results.feed.entry){f=c.query.results.feed.entry,h=f.length;for(;g<h;g++){i=f[g];if(!i.origLink){j=0,k=i.link.length;for(;j<k;j++)i.link[j].rel==="alternate"&&(i.origLink=i.link[j].href)}i.origLink&&(i.title.content&&(i.title=i.title.content),e.push({date:new Date(i.published),config:b,html:a.tmpl(d.posted,i)}))}}return e};return a.ajax({url:a.fn.lifestream.createYqlUrl('select * from xml where url="http://'+b.user+'.blogspot.com/feeds/posts/default"'),dataType:"jsonp",success:function(a){c(e(a))}}),{template:d}}}(jQuery),function(a){a.fn.lifestream.feeds.dailymotion=function(b,c){var d=a.extend({},{uploaded:'uploaded a video <a href="${link}">${title[0]}</a>'},b.template),e=function(c){var e=[],f,g=0,h,i;if(c.query&&c.query.count&&c.query.count>0&&c.query.results.rss.channel.item){f=c.query.results.rss.channel.item,h=f.length;for(;g<h;g++)i=f[g],e.push({date:new Date(i.pubDate),config:b,html:a.tmpl(d.uploaded,i)})}return e};return a.ajax({url:a.fn.lifestream.createYqlUrl('select * from xml where url="http://www.dailymotion.com/rss/user/'+b.user+'"'),dataType:"jsonp",success:function(a){c(e(a))}}),{template:d}}}(jQuery),function(a){a.fn.lifestream.feeds.delicious=function(b,c){var d=a.extend({},{bookmarked:'bookmarked <a href="${u}">${d}</a>'},b.template);return a.ajax({url:"http://feeds.delicious.com/v2/json/"+b.user,dataType:"jsonp",success:function(e){var f=[],g=0,h;if(e&&e.length&&e.length>0){h=e.length;for(;g<h;g++){var i=e[g];f.push({date:new Date(i.dt),config:b,html:a.tmpl(d.bookmarked,i)})}}c(f)}}),{template:d}}}(jQuery),function(a){a.fn.lifestream.feeds.deviantart=function(b,c){var d=a.extend({},{posted:'posted <a href="${link}">${title}</a>'},b.template);return a.ajax({url:a.fn.lifestream.createYqlUrl('select title,link,pubDate from rss where url="http://backend.deviantart.com/rss.xml?q=gallery%3A'+encodeURIComponent(b.user)+"&type=deviation"+'" | unique(field="title")'),dataType:"jsonp",success:function(e){var f=[],g,h,i=0,j;if(e.query&&e.query.count>0){g=e.query.results.item,j=g.length;for(;i<j;i++)h=g[i],f.push({date:new Date(h.pubDate),config:b,html:a.tmpl(d.posted,h)})}c(f)}}),{template:d}}}(jQuery),function(a){a.fn.lifestream.feeds.digg=function(b,c){var d=a.extend({},{comment:'commented on <a href="${url}" title="${title}">${title}</a>',digg:'dugg <a href="${url}" title="${title}">${title}</a>',submission:'submitted <a href="${url}" title="${title}">${title}</a>'},b.template);return a.ajax({url:"http://services.digg.com/2.0/user.getActivity?username="+b.user+"&type=javascript",dataType:"jsonp",success:function(e){var f=[],g=0,h;if(e&&e.stories){h=e.stories.length;for(;g<h;g++){var i=e.stories[g],j=i.activity.length;for(l=0;l<j;l++){var k;i.activity[l]==="submission"||i.promote_date===null?k=i.date_created:k=i.promote_date,f.push({date:new Date(k*1e3),config:b,html:a.tmpl(d[i.activity[l]],i)})}}}c(f)}}),{template:d}}}(jQuery),function(a){a.fn.lifestream.feeds.dribbble=function(b,c){var d=a.extend({},{posted:'posted a shot <a href="${url}">${title}</a>'},b.template);return a.ajax({url:"http://api.dribbble.com/players/"+b.user+"/shots",dataType:"jsonp",success:function(e){var f=[],g=0,h;if(e&&e.total){h=e.shots.length;for(;g<h;g++){var i=e.shots[g];f.push({date:new Date(i.created_at),config:b,html:a.tmpl(d.posted,i)})}}c(f)}}),{template:d}}}(jQuery),function(a){a.fn.lifestream.feeds.facebook_page=function(b,c){var d=a.extend({},{wall_post:'post on wall <a href="${link}">${title}</a>'},b.template),e=function(c){var e=[],f,g=0,h;if(c.query&&c.query.count&&c.query.count>0){f=c.query.results.rss.channel.item,h=f.length;for(;g<h;g++){var i=f[g];a.trim(i.title)&&e.push({date:new Date(i.pubDate),config:b,html:a.tmpl(d.wall_post,i)})}}return e};return a.ajax({url:a.fn.lifestream.createYqlUrl('select * from xml where url="www.facebook.com/feeds/page.php?id='+b.user+'&format=rss20"'),dataType:"jsonp",success:function(a){c(e(a))}}),{template:d}}}(jQuery),function(a){a.fn.lifestream.feeds.flickr=function(b,c){var d=a.extend({},{posted:'posted a photo <a href="${link}">${title}</a>'},b.template);return a.ajax({url:"http://api.flickr.com/services/feeds/photos_public.gne?id="+b.user+"&lang=en-us&format=json",dataType:"jsonp",jsonp:"jsoncallback",success:function(e){var f=[],g=0,h;if(e&&e.items&&e.items.length>0){h=e.items.length;for(;g<h;g++){var i=e.items[g];f.push({date:new Date(i.published),config:b,html:a.tmpl(d.posted,i)})}}c(f)}}),{template:d}}}(jQuery),function(a){a.fn.lifestream.feeds.foomark=function(b,c){var d=a.extend({},{bookmarked:'bookmarked <a href="${url}">${url}</a>'},b.template);return a.ajax({url:"http://api.foomark.com/urls/list/",data:{format:"jsonp",username:b.user},dataType:"jsonp",success:function(e){var f=[],g=0,h;if(e&&e.length&&e.length>0){h=e.length;for(;g<h;g++){var i=e[g];f.push({date:new Date(i.created_at.replace(/-/g,"/")),config:b,html:a.tmpl(d.bookmarked,i)})}}c(f)}}),{template:d}}}(jQuery),function(a){a.fn.lifestream.feeds.formspring=function(b,c){var d=a.extend({},{answered:'answered a question <a href="${link}">${title}</a>'},b.template),e=function(c){var e=[],f,g=0,h,i;if(c.query&&c.query.count&&c.query.count>0&&c.query.results.rss.channel.item){f=c.query.results.rss.channel.item,h=f.length;for(;g<h;g++)i=f[g],e.push({date:new Date(i.pubDate),config:b,html:a.tmpl(d.answered,i)})}return e};return a.ajax({url:a.fn.lifestream.createYqlUrl('select * from xml where url="http://www.formspring.me/profile/'+b.user+'.rss"'),dataType:"jsonp",success:function(a){c(e(a))}}),{template:d}}}(jQuery),function(a){a.fn.lifestream.feeds.forrst=function(b,c){var d=a.extend({},{posted:'posted a ${post_type} <a href="${post_url}">${title}</a>'},b.template);return a.ajax({url:"http://forrst.com/api/v2/users/posts?username="+b.user,dataType:"jsonp",success:function(e){var f=[],g=0,h;if(e&&e.resp.length&&e.resp.length>0){h=e.resp.length;for(;g<h;g++){var i=e.resp[g];f.push({date:new Date(i.created_at.replace(" ","T")),config:b,html:a.tmpl(d.posted,i)})}}c(f)}}),{template:d}}}(jQuery),function(a){a.fn.lifestream.feeds.foursquare=function(b,c){var d=a.extend({},{checkedin:'checked in @ <a href="${link}">${title}</a>'},b.template),e=function(c){var e=[],f=0,g;if(c.query&&c.query.count&&c.query.count>0){g=c.query.count;for(;f<g;f++){var h=c.query.results.item[f];e.push({date:new Date(h.pubDate),config:b,html:a.tmpl(d.checkedin,h)})}}return e};return a.ajax({url:a.fn.lifestream.createYqlUrl('select * from rss where url="https://feeds.foursquare.com/history/'+b.user+'.rss"'),dataType:"jsonp",success:function(a){c(e(a))}}),{template:d}}}(jQuery),function(a){a.fn.lifestream.feeds.github=function(b,c){var d=a.extend({},{pushed:'<a href="${status.url}" title="{{if title}}${title} by ${author} {{/if}}">pushed</a> to <a href="http://github.com/${repo}/tree/${branchname}">${branchname}</a> at <a href="http://github.com/${repo}">${repo}</a>',gist:'<a href="${status.payload.url}" title="${status.payload.desc || ""}">${status.payload.name}</a>',commented:'commented on <a href="${status.url}">${what}</a> on <a href="http://github.com/${repo}">${repo}</a>',pullrequest:'${status.payload.action} <a href="${status.url}">pull request #${status.payload.number}</a> on <a href="http://github.com/${repo}">${repo}</a>',created:'created ${status.payload.ref_type || status.payload.object} <a href="${status.url}">${status.payload.ref || status.payload.object_name}</a> for <a href="http://github.com/${repo}">${repo}</a>',createdglobal:'created ${status.payload.object} <a href="${status.url}">${title}</a>',deleted:'deleted ${status.payload.ref_type} ${status.payload.ref} at <a href="http://github.com/${status.repository.owner}/${status.repository.name}">${status.repository.owner}/${status.repository.name}</a>'},b.template),e=function(a){return a.payload.repo||(a.repository?a.repository.owner+"/"+a.repository.name:null)||a.url.split("/")[3]+"/"+a.url.split("/")[4]},f=function(b){var c,f,g;if(b.type==="PushEvent")return f=b.payload&&b.payload.shas&&b.payload.shas.json&&b.payload.shas.json[2],c=e(b),a.tmpl(d.pushed,{status:b,title:f,author:f?b.payload.shas.json[3]:"",branchname:b.payload.ref.split("/")[2],repo:e(b)});if(b.type==="GistEvent")return a.tmpl(d.gist,{status:b});if(b.type==="CommitCommentEvent")return g="commit "+b.url.split("commit/")[1].split("#")[0].substring(0,7),c=e(b),a.tmpl(d.commented,{what:g,repo:c,status:b});if(b.type==="IssueCommentEvent")return g="issue "+b.url.split("issues/")[1].split("#")[0],c=e(b),a.tmpl(d.commented,{what:g,repo:c,status:b});if(b.type==="PullRequestEvent")return c=e(b),a.tmpl(d.pullrequest,{repo:c,status:b});if(b.type==="CreateEvent"&&(b.payload.ref_type==="tag"||b.payload.ref_type==="branch"||b.payload.object==="tag"))return c=e(b),a.tmpl(d.created,{repo:c,status:b});if(b.type==="CreateEvent")return f=b.payload.object_name?b.payload.object_name==="null"?b.payload.name:b.payload.object_name:e(b),a.tmpl(d.createdglobal,{title:f,status:b});if(b.type==="DeleteEvent")return a.tmpl(d.deleted,{status:b})},g=function(a){var c=[],d=0,e;if(a.query&&a.query.count&&a.query.count>0){e=a.query.count;for(;d<e;d++){var g=a.query.results.json[d].json;c.push({date:new Date(g.created_at),config:b,html:f(g),url:"http://github.com/"+b.user})}}return c};return a.ajax({url:a.fn.lifestream.createYqlUrl('select json.repository.owner,json.repository.name, json.payload, json.type,json.url, json.created_at from json where url="http://github.com/'+b.user+'.json"'),dataType:"jsonp",success:function(a){c(g(a))}}),{template:d}}}(jQuery),function(a){a.fn.lifestream.feeds.googlereader=function(b,c){var d=a.extend({},{starred:'shared <a href="{{if link.href}}${link.href}{{else}}${source.link.href}{{/if}}">${title.content}</a>'},b.template),e=function(c){var e=[],f,g=0,h;if(c.query&&c.query.count&&c.query.count>0){f=c.query.results.feed.entry,h=f.length;for(;g<h;g++){var i=f[g];e.push({url:"http://www.google.com/reader/shared"+b.user,date:new Date(parseInt(i["crawl-timestamp-msec"],10)),config:b,html:a.tmpl(d.starred,i)})}}return e};return a.ajax({url:a.fn.lifestream.createYqlUrl('select * from xml where url="www.google.com/reader/public/atom/user%2F'+b.user+'%2Fstate%2Fcom.google%2Fbroadcast"'),dataType:"jsonp",success:function(a){c(e(a))}}),{template:d}}}(jQuery),function(a){a.fn.lifestream.feeds.instapaper=function(b,c){var d=a.extend({},{loved:'loved <a href="${link}">${title}</a>'},b.template),e=function(c){var e=[],f,g=0,h,i;if(c.query&&c.query.count&&c.query.count>0&&c.query.results.rss.channel.item){f=c.query.results.rss.channel.item,h=f.length;for(;g<h;g++)i=f[g],e.push({date:new Date(i.pubDate),config:b,html:a.tmpl(d.loved,i)})}return e};return a.ajax({url:a.fn.lifestream.createYqlUrl('select * from xml where url="http://www.instapaper.com/starred/rss/'+b.user+'"'),dataType:"jsonp",success:function(a){c(e(a))}}),{template:d}}}(jQuery),function(a){a.fn.lifestream.feeds.iusethis=function(b,c){var d=a.extend({},{global:'${action} <a href="${link}">${what}</a> on (${os})'},b.template),e=function(c){var e=[],f,g,h,i,j,k=0,l,m,n,o,p,q,r,s=["iPhone","OS X","Windows"];if(c.query&&c.query.count&&c.query.count>0&&c.query.results.rss){l=c.query.results.rss.length,o=["started using","stopped using","stopped loving","Downloaded","commented on","updated entry for","started loving","registered"],j=o.length;for(;k<l;k++){r=s[k],f=c.query.results.rss[k].channel.item,g=0,h=f.length;for(;g<h;g++){m=f[g],n=m.title.replace(b.user+" ",""),i=0;for(;i<j;i++)if(n.indexOf(o[i])>-1){p=o[i];break}q=n.split(p),e.push({date:new Date(m.pubDate),config:b,html:a.tmpl(d.global,{action:p.toLowerCase(),link:m.link,what:q[1],os:r})})}}}return e};return a.ajax({url:a.fn.lifestream.createYqlUrl('select * from xml where url="http://iphone.iusethis.com/user/feed.rss/'+b.user+'" or '+'url="http://osx.iusethis.com/user/feed.rss/'+b.user+'" or '+'url="http://win.iusethis.com/user/feed.rss/'+b.user+'"'),dataType:"jsonp",success:function(a){c(e(a))}}),{template:d}}}(jQuery),function(a){a.fn.lifestream.feeds.lastfm=function(b,c){var d=a.extend({},{loved:'loved <a href="${url}">${name}</a> by <a href="${artist.url}">${artist.name}</a>'},b.template),e=function(c){var e=[],f,g=0,h;if(c.query&&c.query.count&&c.query.count>0&&c.query.results.lovedtracks&&c.query.results.lovedtracks.track){f=c.query.results.lovedtracks.track,h=f.length;for(;g<h;g++){var i=f[g],j=i.nowplaying?new Date:i.date.uts;e.push({date:new Date(parseInt(j*1e3,10)),config:b,html:a.tmpl(d.loved,i)})}}return e};return a.ajax({url:a.fn.lifestream.createYqlUrl('select * from xml where url="http://ws.audioscrobbler.com/2.0/user/'+b.user+'/lovedtracks.xml"'),dataType:"jsonp",success:function(a){c(e(a))}}),{template:d}}}(jQuery),function(a){a.fn.lifestream.feeds.librarything=function(b,c){var d=a.extend({},{book:'added <a href="http://www.librarything.com/work/book/${book.book_id}" title="${book.title} by ${book.author_fl}">${book.title} by ${book.author_fl}</a> to my library'},b.template),e=function(c){var e=[],f="";if(c.books)for(f in c.books)if(c.books.hasOwnProperty(f)){var g=c.books[f];e.push({date:new Date(g.entry_stamp*1e3),config:b,html:a.tmpl(d.book,{book:g}),url:"http://www.librarything.com/profile/"+b.user})}return e};return a.ajax({url:"http://www.librarything.com/api_getdata.php?booksort=entry_REV&userid="+b.user,dataType:"jsonp",success:function(a){c(e(a))}}),{template:d}}}(jQuery),function(a){a.fn.lifestream.feeds.mlkshk=function(b,c){var d=a.extend({},{posted:'posted <a href="${link}">${title}</a>'},b.template),e=function(c){var e=[],f,g=0,h,i;if(c.query&&c.query.count&&c.query.count>0&&c.query.results.rss.channel.item){f=c.query.results.rss.channel.item,h=f.length;for(;g<h;g++)i=f[g],e.push({date:new Date(i.pubDate),config:b,html:a.tmpl(d.posted,i)})}return e};return a.ajax({url:a.fn.lifestream.createYqlUrl('select * from xml where url="http://mlkshk.com/user/'+b.user+'/rss"'),dataType:"jsonp",success:function(a){c(e(a))}}),{template:d}}}(jQuery),function(a){a.fn.lifestream.feeds.picplz=function(b,c){var d=a.extend({},{uploaded:'uploaded <a href="${url}">${title}</a>'},b.template);return a.ajax({url:"http://picplz.com/api/v2/user.json?username="+b.user+"&include_pics=1",dataType:"jsonp",success:function(e){var f=[],g=0,h,i;i=e.value.users[0].pics;if(i&&i.length&&i.length>0){h=i.length;for(;g<h;g++){var j=i[g];f.push({date:new Date(j.date*1e3),config:b,html:a.tmpl(d.uploaded,{url:"http://picplz.com"+j.url,title:j.caption||j.id})})}}c(f)}}),{template:d}}}(jQuery),function(a){a.fn.lifestream.feeds.pinboard=function(b,c){var d=a.extend({},{bookmarked:'bookmarked <a href="${link}">${title}</a>'},b.template),e=function(c){var e=[],f,g=0,h,i;if(c.query&&c.query.count&&c.query.count>0){f=c.query.results.RDF.item,h=f.length;for(;g<h;g++)i=f[g],e.push({date:new Date(i.date),config:b,html:a.tmpl(d.bookmarked,i)})}return e};return a.ajax({url:a.fn.lifestream.createYqlUrl('select * from xml where url="http://feeds.pinboard.in/rss/u:'+b.user+'"'),dataType:"jsonp",success:function(a){c(e(a))}}),{template:d}}}(jQuery),function(a){a.fn.lifestream.feeds.posterous=function(b,c){var d=a.extend({},{posted:'posted <a href="${link}">${title}</a>'},b.template),e=function(c){var e=[],f,g=0,h,i;if(c.query&&c.query.count&&c.query.count>0&&c.query.results.rss.channel.item){f=c.query.results.rss.channel.item,h=f.length;for(;g<h;g++)i=f[g],e.push({date:new Date(i.pubDate),config:b,html:a.tmpl(d.posted,i)})}return e};return a.ajax({url:a.fn.lifestream.createYqlUrl('select * from xml where url="http://'+b.user+'.posterous.com/rss.xml"'),dataType:"jsonp",success:function(a){c(e(a))}}),{template:d}}}(jQuery),function(a){a.fn.lifestream.feeds.reddit=function(b,c){var d=a.extend({},{commented:'<a href="http://www.reddit.com/r/${item.data.subreddit}/comments/${item.data.link_id.substring(3)}/u/${item.data.name.substring(3)}?context=3">commented (${score})</a> in <a href="http://www.reddit.com/r/${item.data.subreddit}">${item.data.subreddit}</a>',created:'<a href="http://www.reddit.com${item.data.permalink}">created new thread (${score})</a> in <a href="http://www.reddit.com/r/${item.data.subreddit}">${item.data.subreddit}</a>'},b.template),e=function(b){var c=b.data.ups-b.data.downs,e={item:b,score:c>0?"+"+c:c};if(b.kind==="t1")return a.tmpl(d.commented,e);if(b.kind==="t3")return a.tmpl(d.created,e)},f=function(a){return new Date(a*1e3)};return a.ajax({url:"http://www.reddit.com/user/"+b.user+".json",dataType:"jsonp",jsonp:"jsonp",success:function(a){var d=[],g=0,h;if(a&&a.data&&a.data.children&&a.data.children.length>0){h=a.data.children.length;for(;g<h;g++){var i=a.data.children[g];d.push({date:f(i.data.created_utc),config:b,html:e(i),url:"http://reddit.com/user/"+b.user})}}c(d)}}),{template:d}}}(jQuery),function(a){a.fn.lifestream.feeds.slideshare=function(b,c){var d=a.extend({},{uploaded:'uploaded a presentation <a href="${link}">${title}</a>'},b.template),e=function(c){var e=[],f,g=0,h,i;if(c.query&&c.query.count&&c.query.count>0){f=c.query.results.rss.channel.item,h=f.length;for(;g<h;g++)i=f[g],e.push({date:new Date(i.pubDate),config:b,html:a.tmpl(d.uploaded,i)})}return e};return a.ajax({url:a.fn.lifestream.createYqlUrl('select * from xml where url="http://www.slideshare.net/rss/user/'+b.user+'"'),dataType:"jsonp",success:function(a){c(e(a))}}),{template:d}}}(jQuery),function(a){a.fn.lifestream.feeds.snipplr=function(b,c){var d=a.extend({},{posted:'posted a snippet <a href="${link}">${title}</a>'},b.template),e=function(c){var e=[],f,g=0,h,i;if(c.query&&c.query.count&&c.query.count>0&&c.query.results.rss.channel.item){f=c.query.results.rss.channel.item,h=f.length;for(;g<h;g++)i=f[g],e.push({date:new Date(i.pubDate),config:b,html:a.tmpl(d.posted,i)})}return e};a.ajax({url:a.fn.lifestream.createYqlUrl('select * from xml where url="http://snipplr.com/rss/users/'+b.user+'"'),dataType:"jsonp",success:function(a){c(e(a))}})}}(jQuery),function(a){a.fn.lifestream.feeds.stackoverflow=function(b,c){var d=a.extend({},{global:'<a href="${link}">${text}</a> - ${title}'},b.template),e=function(a){var c="",d="",e="",f="http://stackoverflow.com/users/"+b.user,g="http://stackoverflow.com/questions/";if(a.timeline_type==="badge")c="was "+a.action+" the '"+a.description+"' badge",d=a.detail,e=f+"?tab=reputation";else if(a.timeline_type==="comment")c="commented on",d=a.description,e=g+a.post_id;else if(a.timeline_type==="revision"||a.timeline_type==="accepted"||a.timeline_type==="askoranswered")c=a.timeline_type==="askoranswered"?a.action:a.action+" "+a.post_type,d=a.detail||a.description||"",e=g+a.post_id;return{link:e,title:d,text:c}},f=function(a){return new Date(a*1e3)};return a.ajax({url:"http://api.stackoverflow.com/1.1/users/"+b.user+"/timeline?"+"jsonp",dataType:"jsonp",jsonp:"jsonp",success:function(g){var h=[],i=0,j;if(g&&g.total&&g.total>0&&g.user_timelines){j=g.user_timelines.length;for(;i<j;i++){var k=g.user_timelines[i];h.push({date:f(k.creation_date),config:b,html:a.tmpl(d.global,e(k))})}}c(h)}}),{template:d}}}(jQuery),function(a){a.fn.lifestream.feeds.tumblr=function(b,c){var d=a.extend({},{posted:'posted a ${type} <a href="${url}">${title}</a>'},b.template),e=function(b){switch(b.type){case"photo":var c=b["photo-url"];return a('<img width="75" height="75"/>').attr({src:c[c.length-1].content,title:h(b),alt:h(b)}).wrap("<div/>").parent().html();case"video":var d=b["video-player"],e=d[d.length-1].content;if(e.match(/<\s*script/))return null;return e;case"audio":return b["audio-player"]+" "+a("<div/>").text(h(b)).html();default:return null}},f=function(b,c){return a(b[c]).filter(":not(:empty):first").text()},g=function(a){var b;switch(a.type){case"regular":return a["regular-title"]||f(a,"regular-body");case"link":return b=a["link-text"]||f(a,"link-description"),b===""&&(b=a["link-url"]),b;case"video":return f(a,"video-caption");case"audio":return f(a,"audio-caption");case"photo":return f(a,"photo-caption");case"quote":return'"'+a["quote-text"].replace(/<.+?>/g," ").trim()+'"';case"conversation":return b=a["conversation-title"],b||(b=a.conversation.line,typeof b!="string"&&(b=line[0].label+" "+line[0].content+" ....")),b;case"answer":return a.question;default:return a.type}},h=function(a){var b=g(a)||"";return b.replace(/<.+?>/gi," ")},i=function(b,c){return{date:new Date(c.date),config:b,html:a.tmpl(d.posted,{type:c.type.replace("regular","blog entry"),url:c.url,image:e(c),title:h(c)})}},j=function(c){var d=[],e=0,f,g;if(c.query&&c.query.count&&c.query.count>0)if(a.isArray(c.query.results.posts.post)){f=c.query.results.posts.post.length;for(;e<f;e++)g=c.query.results.posts.post[e],d.push(i(b,g))}else a.isPlainObject(c.query.results.posts.post)&&d.push(i(b,c.query.results.posts.post));return d};return a.ajax({url:a.fn.lifestream.createYqlUrl('select * from tumblr.posts where username="'+b.user+'"'),dataType:"jsonp",success:function(a){c(j(a))}}),{template:d}}}(jQuery),function(a){a.fn.lifestream.feeds.twitter=function(b,c){var d=a.extend({},{posted:"{{html tweet}}"},b.template),e=function(a){var b=function(a){return a.replace(/[a-z]+:\/\/[a-z0-9-_]+\.[a-z0-9-_:~%&\?\/.=]+[^:\.,\)\s*$]/ig,function(a){return'<a href="'+a+'">'+(a.length>25?a.substr(0,24)+"...":a)+"</a>"})},c=function(a){return a.replace(/(^|[^\w]+)\@([a-zA-Z0-9_]{1,15})/g,function(a,b,c){return b+'<a href="http://twitter.com/'+c+'">@'+c+"</a>"})},d=function(a){return a.replace(/(^|[^\w'"]+)\#([a-zA-Z0-9_]+)/g,function(a,b,c){return b+'<a href="http://search.twitter.com/search?q=%23'+c+'">#'+c+"</a>"})};return d(c(b(a)))},f=function(c){var f=[],g=0,h,i;if(c&&c.length>0){h=c.length;for(;g<h;g++)i=c[g],f.push({date:new Date(i.created_at),config:b,html:a.tmpl(d.posted,{tweet:e(i.text)}),url:"http://twitter.com/#!/"+b.user})}return f};return a.ajax({url:"https://api.twitter.com/1/statuses/user_timeline.json",data:{screen_name:b.user,include_rts:1},dataType:"jsonp",success:function(a){c(f(a))}}),{template:d}}}(jQuery),function(a){a.fn.lifestream.feeds.vimeo=function(b,c){var d=a.extend({},{posted:'posted <a href="${url}" title="${description}">${title}</a>'},b.template),e=function(c){var e=[],f=0,g,h;if(c){g=c.length;for(;f<g;f++)h=c[f],e.push({date:new Date(h.upload_date.replace(" ","T")),config:b,html:a.tmpl(d.posted,{url:h.url,description:h.description.replace(/"/g,"'").replace(/<.+?>/gi,""),title:h.title})})}return e};return a.ajax({url:"http://vimeo.com/api/v2/"+b.user+"/videos.json",dataType:"jsonp",crossDomain:!0,success:function(a){c(e(a))}}),{template:d}}}(jQuery),function(a){a.fn.lifestream.feeds.wikipedia=function(b,c){var d=b.language||"en",e=a.extend({},{contribution:'contributed to <a href="${url}">${title}</a>'},b.template);return a.ajax({url:"http://"+d+".wikipedia.org/w/api.php?action=query&ucuser="+b.user+"&list=usercontribs&ucdir=older&format=json",dataType:"jsonp",success:function(f){var g=[],h=0,i;if(f&&f.query.usercontribs){i=f.query.usercontribs.length;for(;h<i;h++){var j=f.query.usercontribs[h];j.url="http://"+d+".wikipedia.org/wiki/"+j.title.replace(" ","_"),g.push({date:new Date(j.timestamp),config:b,html:a.tmpl(e.contribution,j)})}}c(g)}}),{template:e}}}(jQuery),function(a){a.fn.lifestream.feeds.wordpress=function(b,c){var d=a.extend({},{posted:'posted <a href="${link}">${title}</a>'},b.template),e=function(c){var e=[],f,g=0,h,i;if(c.query&&c.query.count&&c.query.count>0&&c.query.results.rss.channel.item){f=c.query.results.rss.channel.item,h=f.length;for(;g<h;g++)i=f[g],e.push({date:new Date(i.pubDate),config:b,html:a.tmpl(d.posted,i)})}return e},f=b.user.indexOf("http://")===0?b.user+"/feed":"http://"+b.user+".wordpress.com/feed";return a.ajax({url:a.fn.lifestream.createYqlUrl('select * from xml where url="'+f+'"'),dataType:"jsonp",success:function(a){c(e(a))}}),{template:d}}}(jQuery),function(a){a.fn.lifestream.feeds.youtube=function(b,c){var d=a.extend({},{favorited:'favorited <a href="${video.player.default}" title="${video.description}">${video.title}</a>'},b.template),e=function(c){var e=[],f=0,g,h;if(c.data&&c.data.items){g=c.data.items.length;for(;f<g;f++)h=c.data.items[f],e.push({date:new Date(h.created),config:b,html:a.tmpl(d.favorited,h)})}return e};return a.ajax({url:"http://gdata.youtube.com/feeds/api/users/"+b.user+"/favorites?v=2&alt=jsonc",dataType:"jsonp",success:function(a){c(e(a))}}),{template:d}}}(jQuery)
+ *//*globals jQuery, $ */(function(a){a.fn.lifestream=function(b){return this.each(function(){var c=a(this),d=jQuery.extend({classname:"lifestream",feedloaded:null,limit:10,list:[]},b),e={count:d.list.length,items:[]},f=jQuery.extend(!0,{},d),g=function(b){a.merge(e.items,b),e.items.sort(function(a,b){return b.date-a.date});var f=e.items,g=f.length<d.limit?f.length:d.limit,h=0,i,j=a('<ul class="'+d.classname+'"/>');for(;h<g;h++)i=f[h],i.html&&a('<li class="'+d.classname+"-"+i.config.service+'">').data("name",i.config.service).data("url",i.url||"#").data("time",i.date).append(i.html).appendTo(j);c.html(j),a.isFunction(d.feedloaded)&&d.feedloaded()},h=function(){var b=0,c=d.list.length;delete f.list;for(;b<c;b++){var e=d.list[b];a.fn.lifestream.feeds[e.service]&&a.isFunction(a.fn.lifestream.feeds[e.service])&&e.user&&(e._settings=f,a.fn.lifestream.feeds[e.service](e,g))}};jQuery.tmpl?h():jQuery.getScript("http://ajax.microsoft.com/ajax/jquery.templates/beta1/jquery.tmpl.min.js",h)})},a.fn.lifestream.createYqlUrl=function(a){return"http://query.yahooapis.com/v1/public/yql?q=__QUERY__&env=store://datatables.org/alltableswithkeys&format=json".replace("__QUERY__",encodeURIComponent(a))},a.fn.lifestream.feeds=a.fn.lifestream.feeds||{}})(jQuery),function(a){a.fn.lifestream.feeds.bitbucket=function(b,c){var d=a.extend({},{commit:'<a href="http://bitbucket.org/${owner}/${name}/changeset/${node}/">committed</a> at <a href="http://bitbucket.org/${owner}/${name}/">${owner}/${name}</a>',pullrequest_fulfilled:'fulfilled a pull request at <a href="http://bitbucket.org/${owner}/${name}/">${owner}/${name}</a>',pullrequest_rejected:'rejected a pull request at <a href="http://bitbucket.org/${owner}/${name}/">${owner}/${name}</a>',pullrequest_created:'created a pull request at <a href="http://bitbucket.org/${owner}/${name}/">${owner}/${name}</a>',create:'created a new project at <a href="http://bitbucket.org/${owner}/${name}/">${owner}/${name}</a>',fork:'forked <a href="http://bitbucket.org/${owner}/${name}/">${owner}/${name}</a>'},b.template),e=["commit","pullrequest_fulfilled","pullrequest_rejected","pullrequest_created","create","fork"],f=function(b){if(a.inArray(b.event,e)!==-1&&b.repository)return b.event==="commit"?a.tmpl(d.commit,{owner:b.repository.owner,name:b.repository.name,node:b.node}):a.tmpl(d[b.event],{owner:b.repository.owner,name:b.repository.name})},g=function(c){var d=[],e=0;return c.query&&c.query.count&&c.query.count>0&&a.each(c.query.results.json,function(){d.push({date:new Date(this.events.created_on.replace(/-/g,"/")),config:b,html:f(this.events)})}),d};return a.ajax({url:a.fn.lifestream.createYqlUrl('select events.event,events.node, events.created_on,events.repository.name, events.repository.owner from json where url = "https://api.bitbucket.org/1.0/users/'+b.user+'/events/"'),dataType:"jsonp",success:function(a){c(g(a))}}),{template:d}}}(jQuery),function(a){a.fn.lifestream.feeds.bitly=function(b,c){var d=a.extend({},{created:'created URL <a href="${short_url}" title="${title}">${short_url}</a>'},b.template);return a.ajax({url:a.fn.lifestream.createYqlUrl('select data.short_url, data.created, data.title from json where url="http://bitly.com/u/'+b.user+'.json"'),dataType:"jsonp",success:function(e){var f=[],g=0,h;if(e.query&&e.query.count&&e.query.results.json){list=e.query.results.json,h=list.length;for(;g<h;g++){var i=list[g].data;f.push({date:new Date(i.created*1e3),config:b,html:a.tmpl(d.created,i)})}}c(f)}}),{template:d}}}(jQuery),function(a){a.fn.lifestream.feeds.blogger=function(b,c){var d=a.extend({},{posted:'posted <a href="${origLink}">${title}</a>'},b.template),e=function(c){var e=[],f,g=0,h,i,j,k;if(c.query&&c.query.count&&c.query.count>0&&c.query.results.feed.entry){f=c.query.results.feed.entry,h=f.length;for(;g<h;g++){i=f[g];if(!i.origLink){j=0,k=i.link.length;for(;j<k;j++)i.link[j].rel==="alternate"&&(i.origLink=i.link[j].href)}i.origLink&&(i.title.content&&(i.title=i.title.content),e.push({date:new Date(i.published),config:b,html:a.tmpl(d.posted,i)}))}}return e};return a.ajax({url:a.fn.lifestream.createYqlUrl('select * from xml where url="http://'+b.user+'.blogspot.com/feeds/posts/default"'),dataType:"jsonp",success:function(a){c(e(a))}}),{template:d}}}(jQuery),function(a){a.fn.lifestream.feeds.dailymotion=function(b,c){var d=a.extend({},{uploaded:'uploaded a video <a href="${link}">${title[0]}</a>'},b.template),e=function(c){var e=[],f,g=0,h,i;if(c.query&&c.query.count&&c.query.count>0&&c.query.results.rss.channel.item){f=c.query.results.rss.channel.item,h=f.length;for(;g<h;g++)i=f[g],e.push({date:new Date(i.pubDate),config:b,html:a.tmpl(d.uploaded,i)})}return e};return a.ajax({url:a.fn.lifestream.createYqlUrl('select * from xml where url="http://www.dailymotion.com/rss/user/'+b.user+'"'),dataType:"jsonp",success:function(a){c(e(a))}}),{template:d}}}(jQuery),function(a){a.fn.lifestream.feeds.delicious=function(b,c){var d=a.extend({},{bookmarked:'bookmarked <a href="${u}">${d}</a>'},b.template);return a.ajax({url:"http://feeds.delicious.com/v2/json/"+b.user,dataType:"jsonp",success:function(e){var f=[],g=0,h;if(e&&e.length&&e.length>0){h=e.length;for(;g<h;g++){var i=e[g];f.push({date:new Date(i.dt),config:b,html:a.tmpl(d.bookmarked,i)})}}c(f)}}),{template:d}}}(jQuery),function(a){a.fn.lifestream.feeds.deviantart=function(b,c){var d=a.extend({},{posted:'posted <a href="${link}">${title}</a>'},b.template);return a.ajax({url:a.fn.lifestream.createYqlUrl('select title,link,pubDate from rss where url="http://backend.deviantart.com/rss.xml?q=gallery%3A'+encodeURIComponent(b.user)+"&type=deviation"+'" | unique(field="title")'),dataType:"jsonp",success:function(e){var f=[],g,h,i=0,j;if(e.query&&e.query.count>0){g=e.query.results.item,j=g.length;for(;i<j;i++)h=g[i],f.push({date:new Date(h.pubDate),config:b,html:a.tmpl(d.posted,h)})}c(f)}}),{template:d}}}(jQuery),function(a){a.fn.lifestream.feeds.digg=function(b,c){var d=a.extend({},{comment:'commented on <a href="${url}" title="${title}">${title}</a>',digg:'dugg <a href="${url}" title="${title}">${title}</a>',submission:'submitted <a href="${url}" title="${title}">${title}</a>'},b.template);return a.ajax({url:"http://services.digg.com/2.0/user.getActivity?username="+b.user+"&type=javascript",dataType:"jsonp",success:function(e){var f=[],g=0,h;if(e&&e.stories){h=e.stories.length;for(;g<h;g++){var i=e.stories[g],j=i.activity.length;for(l=0;l<j;l++){var k;i.activity[l]==="submission"||i.promote_date===null?k=i.date_created:k=i.promote_date,f.push({date:new Date(k*1e3),config:b,html:a.tmpl(d[i.activity[l]],i)})}}}c(f)}}),{template:d}}}(jQuery),function(a){a.fn.lifestream.feeds.dribbble=function(b,c){var d=a.extend({},{posted:'posted a shot <a href="${url}">${title}</a>'},b.template);return a.ajax({url:"http://api.dribbble.com/players/"+b.user+"/shots",dataType:"jsonp",success:function(e){var f=[],g=0,h;if(e&&e.total){h=e.shots.length;for(;g<h;g++){var i=e.shots[g];f.push({date:new Date(i.created_at),config:b,html:a.tmpl(d.posted,i)})}}c(f)}}),{template:d}}}(jQuery),function(a){a.fn.lifestream.feeds.facebook_page=function(b,c){var d=a.extend({},{wall_post:'post on wall <a href="${link}">${title}</a>'},b.template),e=function(c){var e=[],f,g=0,h;if(c.query&&c.query.count&&c.query.count>0){f=c.query.results.rss.channel.item,h=f.length;for(;g<h;g++){var i=f[g];a.trim(i.title)&&e.push({date:new Date(i.pubDate),config:b,html:a.tmpl(d.wall_post,i)})}}return e};return a.ajax({url:a.fn.lifestream.createYqlUrl('select * from xml where url="www.facebook.com/feeds/page.php?id='+b.user+'&format=rss20"'),dataType:"jsonp",success:function(a){c(e(a))}}),{template:d}}}(jQuery),function(a){a.fn.lifestream.feeds.flickr=function(b,c){var d=a.extend({},{posted:'posted a photo <a href="${link}">${title}</a>'},b.template);return a.ajax({url:"http://api.flickr.com/services/feeds/photos_public.gne?id="+b.user+"&lang=en-us&format=json",dataType:"jsonp",jsonp:"jsoncallback",success:function(e){var f=[],g=0,h;if(e&&e.items&&e.items.length>0){h=e.items.length;for(;g<h;g++){var i=e.items[g];f.push({date:new Date(i.published),config:b,html:a.tmpl(d.posted,i)})}}c(f)}}),{template:d}}}(jQuery),function(a){a.fn.lifestream.feeds.foomark=function(b,c){var d=a.extend({},{bookmarked:'bookmarked <a href="${url}">${url}</a>'},b.template);return a.ajax({url:"http://api.foomark.com/urls/list/",data:{format:"jsonp",username:b.user},dataType:"jsonp",success:function(e){var f=[],g=0,h;if(e&&e.length&&e.length>0){h=e.length;for(;g<h;g++){var i=e[g];f.push({date:new Date(i.created_at.replace(/-/g,"/")),config:b,html:a.tmpl(d.bookmarked,i)})}}c(f)}}),{template:d}}}(jQuery),function(a){a.fn.lifestream.feeds.formspring=function(b,c){var d=a.extend({},{answered:'answered a question <a href="${link}">${title}</a>'},b.template),e=function(c){var e=[],f,g=0,h,i;if(c.query&&c.query.count&&c.query.count>0&&c.query.results.rss.channel.item){f=c.query.results.rss.channel.item,h=f.length;for(;g<h;g++)i=f[g],e.push({date:new Date(i.pubDate),config:b,html:a.tmpl(d.answered,i)})}return e};return a.ajax({url:a.fn.lifestream.createYqlUrl('select * from xml where url="http://www.formspring.me/profile/'+b.user+'.rss"'),dataType:"jsonp",success:function(a){c(e(a))}}),{template:d}}}(jQuery),function(a){a.fn.lifestream.feeds.forrst=function(b,c){var d=a.extend({},{posted:'posted a ${post_type} <a href="${post_url}">${title}</a>'},b.template);return a.ajax({url:"http://forrst.com/api/v2/users/posts?username="+b.user,dataType:"jsonp",success:function(e){var f=[],g=0,h;if(e&&e.resp.length&&e.resp.length>0){h=e.resp.length;for(;g<h;g++){var i=e.resp[g];f.push({date:new Date(i.created_at.replace(" ","T")),config:b,html:a.tmpl(d.posted,i)})}}c(f)}}),{template:d}}}(jQuery),function(a){a.fn.lifestream.feeds.foursquare=function(b,c){var d=a.extend({},{checkedin:'checked in @ <a href="${link}">${title}</a>'},b.template),e=function(c){var e=[],f=0,g;if(c.query&&c.query.count&&c.query.count>0){g=c.query.count;for(;f<g;f++){var h=c.query.results.item[f];e.push({date:new Date(h.pubDate),config:b,html:a.tmpl(d.checkedin,h)})}}return e};return a.ajax({url:a.fn.lifestream.createYqlUrl('select * from rss where url="https://feeds.foursquare.com/history/'+b.user+'.rss"'),dataType:"jsonp",success:function(a){c(e(a))}}),{template:d}}}(jQuery),function(a){a.fn.lifestream.feeds.github=function(b,c){var d=a.extend({},{pushed:'<a href="${status.url}" title="{{if title}}${title} by ${author} {{/if}}">pushed</a> to <a href="http://github.com/${repo}/tree/${branchname}">${branchname}</a> at <a href="http://github.com/${repo}">${repo}</a>',gist:'<a href="${status.payload.url}" title="${status.payload.desc || ""}">${status.payload.name}</a>',commented:'commented on <a href="${status.url}">${what}</a> on <a href="http://github.com/${repo}">${repo}</a>',pullrequest:'${status.payload.action} <a href="${status.url}">pull request #${status.payload.number}</a> on <a href="http://github.com/${repo}">${repo}</a>',created:'created ${status.payload.ref_type || status.payload.object} <a href="${status.url}">${status.payload.ref || status.payload.object_name}</a> for <a href="http://github.com/${repo}">${repo}</a>',createdglobal:'created ${status.payload.object} <a href="${status.url}">${title}</a>',deleted:'deleted ${status.payload.ref_type} ${status.payload.ref} at <a href="http://github.com/${status.repository.owner}/${status.repository.name}">${status.repository.owner}/${status.repository.name}</a>'},b.template),e=function(a){return a.payload.repo||(a.repository?a.repository.owner+"/"+a.repository.name:null)||a.url.split("/")[3]+"/"+a.url.split("/")[4]},f=function(b){var c,f,g;if(b.type==="PushEvent")return f=b.payload&&b.payload.shas&&b.payload.shas.json&&b.payload.shas.json[2],c=e(b),a.tmpl(d.pushed,{status:b,title:f,author:f?b.payload.shas.json[3]:"",branchname:b.payload.ref.split("/")[2],repo:e(b)});if(b.type==="GistEvent")return a.tmpl(d.gist,{status:b});if(b.type==="CommitCommentEvent")return g="commit "+b.url.split("commit/")[1].split("#")[0].substring(0,7),c=e(b),a.tmpl(d.commented,{what:g,repo:c,status:b});if(b.type==="IssueCommentEvent")return g="issue "+b.url.split("issues/")[1].split("#")[0],c=e(b),a.tmpl(d.commented,{what:g,repo:c,status:b});if(b.type==="PullRequestEvent")return c=e(b),a.tmpl(d.pullrequest,{repo:c,status:b});if(b.type==="CreateEvent"&&(b.payload.ref_type==="tag"||b.payload.ref_type==="branch"||b.payload.object==="tag"))return c=e(b),a.tmpl(d.created,{repo:c,status:b});if(b.type==="CreateEvent")return f=b.payload.object_name?b.payload.object_name==="null"?b.payload.name:b.payload.object_name:e(b),a.tmpl(d.createdglobal,{title:f,status:b});if(b.type==="DeleteEvent")return a.tmpl(d.deleted,{status:b})},g=function(a){var c=[],d=0,e;if(a.query&&a.query.count&&a.query.count>0){e=a.query.count;for(;d<e;d++){var g=a.query.results.json[d].json;c.push({date:new Date(g.created_at),config:b,html:f(g),url:"https://github.com/"+b.user})}}return c};return a.ajax({url:a.fn.lifestream.createYqlUrl('select json.repository.owner,json.repository.name, json.payload, json.type,json.url, json.created_at from json where url="http://github.com/'+b.user+'.json"'),dataType:"jsonp",success:function(a){c(g(a))}}),{template:d}}}(jQuery),function(a){a.fn.lifestream.feeds.googleplus=function(b,c){var d=a.extend({},{posted:'<a href="${actor.url}">${actor.displayName}</a> has posted a new entry <a href="${url}" title="${id}">${title}</a> <!--With--> ${object.replies.totalItems} replies, ${object.plusoners.totalItems} +1s, ${object.resharers.totalItems} Reshares'},b.template),e=function(c){var e=[],f=0,g,h;if(c&&c.items){g=c.items.length;for(;f<g;f++)h=c.items[f],e.push({date:new Date(h.published),config:b,html:a.tmpl(d.posted,h)})}return e};return a.ajax({url:"https://www.googleapis.com/plus/v1/people/"+b.user+"/activities/public",data:{key:b.key},dataType:"jsonp",success:function(a){if(a.error){c([]),console&&console.error&&console.error("Error loading Google+ stream.",a.error);return}c(e(a))}}),{template:d}}}(jQuery),function(a){a.fn.lifestream.feeds.googlereader=function(b,c){var d=a.extend({},{starred:'shared <a href="{{if link.href}}${link.href}{{else}}${source.link.href}{{/if}}">${title.content}</a>'},b.template),e=function(c){var e=[],f,g=0,h;if(c.query&&c.query.count&&c.query.count>0){f=c.query.results.feed.entry,h=f.length;for(;g<h;g++){var i=f[g];e.push({url:"http://www.google.com/reader/shared"+b.user,date:new Date(parseInt(i["crawl-timestamp-msec"],10)),config:b,html:a.tmpl(d.starred,i)})}}return e};return a.ajax({url:a.fn.lifestream.createYqlUrl('select * from xml where url="www.google.com/reader/public/atom/user%2F'+b.user+'%2Fstate%2Fcom.google%2Fbroadcast"'),dataType:"jsonp",success:function(a){c(e(a))}}),{template:d}}}(jQuery),function(a){a.fn.lifestream.feeds.instapaper=function(b,c){var d=a.extend({},{loved:'loved <a href="${link}">${title}</a>'},b.template),e=function(c){var e=[],f,g=0,h,i;if(c.query&&c.query.count&&c.query.count>0&&c.query.results.rss.channel.item){f=c.query.results.rss.channel.item,h=f.length;for(;g<h;g++)i=f[g],e.push({date:new Date(i.pubDate),config:b,html:a.tmpl(d.loved,i)})}return e};return a.ajax({url:a.fn.lifestream.createYqlUrl('select * from xml where url="http://www.instapaper.com/starred/rss/'+b.user+'"'),dataType:"jsonp",success:function(a){c(e(a))}}),{template:d}}}(jQuery),function(a){a.fn.lifestream.feeds.iusethis=function(b,c){var d=a.extend({},{global:'${action} <a href="${link}">${what}</a> on (${os})'},b.template),e=function(c){var e=[],f,g,h,i,j,k=0,l,m,n,o,p,q,r,s=["iPhone","OS X","Windows"];if(c.query&&c.query.count&&c.query.count>0&&c.query.results.rss){l=c.query.results.rss.length,o=["started using","stopped using","stopped loving","Downloaded","commented on","updated entry for","started loving","registered"],j=o.length;for(;k<l;k++){r=s[k],f=c.query.results.rss[k].channel.item,g=0,h=f.length;for(;g<h;g++){m=f[g],n=m.title.replace(b.user+" ",""),i=0;for(;i<j;i++)if(n.indexOf(o[i])>-1){p=o[i];break}q=n.split(p),e.push({date:new Date(m.pubDate),config:b,html:a.tmpl(d.global,{action:p.toLowerCase(),link:m.link,what:q[1],os:r})})}}}return e};return a.ajax({url:a.fn.lifestream.createYqlUrl('select * from xml where url="http://iphone.iusethis.com/user/feed.rss/'+b.user+'" or '+'url="http://osx.iusethis.com/user/feed.rss/'+b.user+'" or '+'url="http://win.iusethis.com/user/feed.rss/'+b.user+'"'),dataType:"jsonp",success:function(a){c(e(a))}}),{template:d}}}(jQuery),function(a){a.fn.lifestream.feeds.lastfm=function(b,c){var d=a.extend({},{loved:'loved <a href="${url}">${name}</a> by <a href="${artist.url}">${artist.name}</a>'},b.template),e=function(c){var e=[],f,g=0,h;if(c.query&&c.query.count&&c.query.count>0&&c.query.results.lovedtracks&&c.query.results.lovedtracks.track){f=c.query.results.lovedtracks.track,h=f.length;for(;g<h;g++){var i=f[g],j=i.nowplaying?new Date:i.date.uts;e.push({date:new Date(parseInt(j*1e3,10)),config:b,html:a.tmpl(d.loved,i)})}}return e};return a.ajax({url:a.fn.lifestream.createYqlUrl('select * from xml where url="http://ws.audioscrobbler.com/2.0/user/'+b.user+'/lovedtracks.xml"'),dataType:"jsonp",success:function(a){c(e(a))}}),{template:d}}}(jQuery),function(a){a.fn.lifestream.feeds.librarything=function(b,c){var d=a.extend({},{book:'added <a href="http://www.librarything.com/work/book/${book.book_id}" title="${book.title} by ${book.author_fl}">${book.title} by ${book.author_fl}</a> to my library'},b.template),e=function(c){var e=[],f="";if(c.books)for(f in c.books)if(c.books.hasOwnProperty(f)){var g=c.books[f];e.push({date:new Date(g.entry_stamp*1e3),config:b,html:a.tmpl(d.book,{book:g}),url:"http://www.librarything.com/profile/"+b.user})}return e};return a.ajax({url:"http://www.librarything.com/api_getdata.php?booksort=entry_REV&userid="+b.user,dataType:"jsonp",success:function(a){c(e(a))}}),{template:d}}}(jQuery),function(a){a.fn.lifestream.feeds.mlkshk=function(b,c){var d=a.extend({},{posted:'posted <a href="${link}">${title}</a>'},b.template),e=function(c){var e=[],f,g=0,h,i;if(c.query&&c.query.count&&c.query.count>0&&c.query.results.rss.channel.item){f=c.query.results.rss.channel.item,h=f.length;for(;g<h;g++)i=f[g],e.push({date:new Date(i.pubDate),config:b,html:a.tmpl(d.posted,i)})}return e};return a.ajax({url:a.fn.lifestream.createYqlUrl('select * from xml where url="http://mlkshk.com/user/'+b.user+'/rss"'),dataType:"jsonp",success:function(a){c(e(a))}}),{template:d}}}(jQuery),function(a){a.fn.lifestream.feeds.picplz=function(b,c){var d=a.extend({},{uploaded:'uploaded <a href="${url}">${title}</a>'},b.template);return a.ajax({url:"http://picplz.com/api/v2/user.json?username="+b.user+"&include_pics=1",dataType:"jsonp",success:function(e){var f=[],g=0,h,i;i=e.value.users[0].pics;if(i&&i.length&&i.length>0){h=i.length;for(;g<h;g++){var j=i[g];f.push({date:new Date(j.date*1e3),config:b,html:a.tmpl(d.uploaded,{url:"http://picplz.com"+j.url,title:j.caption||j.id})})}}c(f)}}),{template:d}}}(jQuery),function(a){a.fn.lifestream.feeds.pinboard=function(b,c){var d=a.extend({},{bookmarked:'bookmarked <a href="${link}">${title}</a>'},b.template),e=function(c){var e=[],f,g=0,h,i;if(c.query&&c.query.count&&c.query.count>0){f=c.query.results.RDF.item,h=f.length;for(;g<h;g++)i=f[g],e.push({date:new Date(i.date),config:b,html:a.tmpl(d.bookmarked,i)})}return e};return a.ajax({url:a.fn.lifestream.createYqlUrl('select * from xml where url="http://feeds.pinboard.in/rss/u:'+b.user+'"'),dataType:"jsonp",success:function(a){c(e(a))}}),{template:d}}}(jQuery),function(a){a.fn.lifestream.feeds.posterous=function(b,c){var d=a.extend({},{posted:'posted <a href="${link}">${title}</a>'},b.template),e=function(c){var e=[],f,g=0,h,i;if(c.query&&c.query.count&&c.query.count>0&&c.query.results.rss.channel.item){f=c.query.results.rss.channel.item,h=f.length;for(;g<h;g++)i=f[g],e.push({date:new Date(i.pubDate),config:b,html:a.tmpl(d.posted,i)})}return e};return a.ajax({url:a.fn.lifestream.createYqlUrl('select * from xml where url="http://'+b.user+'.posterous.com/rss.xml"'),dataType:"jsonp",success:function(a){c(e(a))}}),{template:d}}}(jQuery),function(a){a.fn.lifestream.feeds.reddit=function(b,c){var d=a.extend({},{commented:'<a href="http://www.reddit.com/r/${item.data.subreddit}/comments/${item.data.link_id.substring(3)}/u/${item.data.name.substring(3)}?context=3">commented (${score})</a> in <a href="http://www.reddit.com/r/${item.data.subreddit}">${item.data.subreddit}</a>',created:'<a href="http://www.reddit.com${item.data.permalink}">created new thread (${score})</a> in <a href="http://www.reddit.com/r/${item.data.subreddit}">${item.data.subreddit}</a>'},b.template),e=function(b){var c=b.data.ups-b.data.downs,e={item:b,score:c>0?"+"+c:c};if(b.kind==="t1")return a.tmpl(d.commented,e);if(b.kind==="t3")return a.tmpl(d.created,e)},f=function(a){return new Date(a*1e3)};return a.ajax({url:"http://www.reddit.com/user/"+b.user+".json",dataType:"jsonp",jsonp:"jsonp",success:function(a){var d=[],g=0,h;if(a&&a.data&&a.data.children&&a.data.children.length>0){h=a.data.children.length;for(;g<h;g++){var i=a.data.children[g];d.push({date:f(i.data.created_utc),config:b,html:e(i),url:"http://reddit.com/user/"+b.user})}}c(d)}}),{template:d}}}(jQuery),function(a){a.fn.lifestream.feeds.slideshare=function(b,c){var d=a.extend({},{uploaded:'uploaded a presentation <a href="${link}">${title}</a>'},b.template),e=function(c){var e=[],f,g=0,h,i;if(c.query&&c.query.count&&c.query.count>0){f=c.query.results.rss.channel.item,h=f.length;for(;g<h;g++)i=f[g],e.push({date:new Date(i.pubDate),config:b,html:a.tmpl(d.uploaded,i)})}return e};return a.ajax({url:a.fn.lifestream.createYqlUrl('select * from xml where url="http://www.slideshare.net/rss/user/'+b.user+'"'),dataType:"jsonp",success:function(a){c(e(a))}}),{template:d}}}(jQuery),function(a){a.fn.lifestream.feeds.snipplr=function(b,c){var d=a.extend({},{posted:'posted a snippet <a href="${link}">${title}</a>'},b.template),e=function(c){var e=[],f,g=0,h,i;if(c.query&&c.query.count&&c.query.count>0&&c.query.results.rss.channel.item){f=c.query.results.rss.channel.item,h=f.length;for(;g<h;g++)i=f[g],e.push({date:new Date(i.pubDate),config:b,html:a.tmpl(d.posted,i)})}return e};a.ajax({url:a.fn.lifestream.createYqlUrl('select * from xml where url="http://snipplr.com/rss/users/'+b.user+'"'),dataType:"jsonp",success:function(a){c(e(a))}})}}(jQuery),function(a){a.fn.lifestream.feeds.stackoverflow=function(b,c){var d=a.extend({},{global:'<a href="${link}">${text}</a> - ${title}'},b.template),e=function(a){var c="",d="",e="",f="http://stackoverflow.com/users/"+b.user,g="http://stackoverflow.com/questions/";if(a.timeline_type==="badge")c="was "+a.action+" the '"+a.description+"' badge",d=a.detail,e=f+"?tab=reputation";else if(a.timeline_type==="comment")c="commented on",d=a.description,e=g+a.post_id;else if(a.timeline_type==="revision"||a.timeline_type==="accepted"||a.timeline_type==="askoranswered")c=a.timeline_type==="askoranswered"?a.action:a.action+" "+a.post_type,d=a.detail||a.description||"",e=g+a.post_id;return{link:e,title:d,text:c}},f=function(a){return new Date(a*1e3)};return a.ajax({url:"http://api.stackoverflow.com/1.1/users/"+b.user+"/timeline?"+"jsonp",dataType:"jsonp",jsonp:"jsonp",success:function(g){var h=[],i=0,j;if(g&&g.total&&g.total>0&&g.user_timelines){j=g.user_timelines.length;for(;i<j;i++){var k=g.user_timelines[i];h.push({date:f(k.creation_date),config:b,html:a.tmpl(d.global,e(k))})}}c(h)}}),{template:d}}}(jQuery),function(a){a.fn.lifestream.feeds.tumblr=function(b,c){var d=a.extend({},{posted:'posted a ${type} <a href="${url}">${title}</a>'},b.template),e=function(b){switch(b.type){case"photo":var c=b["photo-url"];return a('<img width="75" height="75"/>').attr({src:c[c.length-1].content,title:h(b),alt:h(b)}).wrap("<div/>").parent().html();case"video":var d=b["video-player"],e=d[d.length-1].content;if(e.match(/<\s*script/))return null;return e;case"audio":return b["audio-player"]+" "+a("<div/>").text(h(b)).html();default:return null}},f=function(b,c){return a(b[c]).filter(":not(:empty):first").text()},g=function(a){var b;switch(a.type){case"regular":return a["regular-title"]||f(a,"regular-body");case"link":return b=a["link-text"]||f(a,"link-description"),b===""&&(b=a["link-url"]),b;case"video":return f(a,"video-caption");case"audio":return f(a,"audio-caption");case"photo":return f(a,"photo-caption");case"quote":return'"'+a["quote-text"].replace(/<.+?>/g," ").trim()+'"';case"conversation":return b=a["conversation-title"],b||(b=a.conversation.line,typeof b!="string"&&(b=line[0].label+" "+line[0].content+" ....")),b;case"answer":return a.question;default:return a.type}},h=function(a){var b=g(a)||"";return b.replace(/<.+?>/gi," ")},i=function(b,c){return{date:new Date(c.date),config:b,html:a.tmpl(d.posted,{type:c.type.replace("regular","blog entry"),url:c.url,image:e(c),title:h(c)})}},j=function(c){var d=[],e=0,f,g;if(c.query&&c.query.count&&c.query.count>0)if(a.isArray(c.query.results.posts.post)){f=c.query.results.posts.post.length;for(;e<f;e++)g=c.query.results.posts.post[e],d.push(i(b,g))}else a.isPlainObject(c.query.results.posts.post)&&d.push(i(b,c.query.results.posts.post));return d};return a.ajax({url:a.fn.lifestream.createYqlUrl('select * from tumblr.posts where username="'+b.user+'"'),dataType:"jsonp",success:function(a){c(j(a))}}),{template:d}}}(jQuery),function(a){a.fn.lifestream.feeds.twitter=function(b,c){var d=a.extend({},{posted:"{{html tweet}}"},b.template),e=function(a){var b=function(a){return a.replace(/[a-z]+:\/\/[a-z0-9-_]+\.[a-z0-9-_:~%&\?\/.=]+[^:\.,\)\s*$]/ig,function(a){return'<a href="'+a+'">'+(a.length>25?a.substr(0,24)+"...":a)+"</a>"})},c=function(a){return a.replace(/(^|[^\w]+)\@([a-zA-Z0-9_]{1,15})/g,function(a,b,c){return b+'<a href="http://twitter.com/'+c+'">@'+c+"</a>"})},d=function(a){return a.replace(/(^|[^\w'"]+)\#([a-zA-Z0-9_]+)/g,function(a,b,c){return b+'<a href="http://search.twitter.com/search?q=%23'+c+'">#'+c+"</a>"})};return d(c(b(a)))},f=function(c){var f=[],g=0,h,i;if(c&&c.length>0){h=c.length;for(;g<h;g++)i=c[g],f.push({date:new Date(i.created_at),config:b,html:a.tmpl(d.posted,{tweet:e(i.text)}),url:"http://twitter.com/#!/"+b.user})}return f};return a.ajax({url:"https://api.twitter.com/1/statuses/user_timeline.json",data:{screen_name:b.user,include_rts:1},dataType:"jsonp",success:function(a){c(f(a))}}),{template:d}}}(jQuery),function(a){a.fn.lifestream.feeds.vimeo=function(b,c){var d=a.extend({},{posted:'posted <a href="${url}" title="${description}">${title}</a>'},b.template),e=function(c){var e=[],f=0,g,h;if(c){g=c.length;for(;f<g;f++)h=c[f],e.push({date:new Date(h.upload_date.replace(" ","T")),config:b,html:a.tmpl(d.posted,{url:h.url,description:h.description.replace(/"/g,"'").replace(/<.+?>/gi,""),title:h.title})})}return e};return a.ajax({url:"http://vimeo.com/api/v2/"+b.user+"/videos.json",dataType:"jsonp",crossDomain:!0,success:function(a){c(e(a))}}),{template:d}}}(jQuery),function(a){a.fn.lifestream.feeds.wikipedia=function(b,c){var d=b.language||"en",e=a.extend({},{contribution:'contributed to <a href="${url}">${title}</a>'},b.template);return a.ajax({url:"http://"+d+".wikipedia.org/w/api.php?action=query&ucuser="+b.user+"&list=usercontribs&ucdir=older&format=json",dataType:"jsonp",success:function(f){var g=[],h=0,i;if(f&&f.query.usercontribs){i=f.query.usercontribs.length;for(;h<i;h++){var j=f.query.usercontribs[h];j.url="http://"+d+".wikipedia.org/wiki/"+j.title.replace(" ","_"),g.push({date:new Date(j.timestamp),config:b,html:a.tmpl(e.contribution,j)})}}c(g)}}),{template:e}}}(jQuery),function(a){a.fn.lifestream.feeds.wordpress=function(b,c){var d=a.extend({},{posted:'posted <a href="${link}">${title}</a>'},b.template),e=function(c){var e=[],f,g=0,h,i;if(c.query&&c.query.count&&c.query.count>0&&c.query.results.rss.channel.item){f=c.query.results.rss.channel.item,h=f.length;for(;g<h;g++)i=f[g],e.push({date:new Date(i.pubDate),config:b,html:a.tmpl(d.posted,i)})}return e},f=b.user.indexOf("http://")===0?b.user+"/feed":"http://"+b.user+".wordpress.com/feed";return a.ajax({url:a.fn.lifestream.createYqlUrl('select * from xml where url="'+f+'"'),dataType:"jsonp",success:function(a){c(e(a))}}),{template:d}}}(jQuery),function(a){a.fn.lifestream.feeds.youtube=function(b,c){var d=a.extend({},{favorited:'favorited <a href="${video.player.default}" title="${video.description}">${video.title}</a>'},b.template),e=function(c){var e=[],f=0,g,h;if(c.data&&c.data.items){g=c.data.items.length;for(;f<g;f++)h=c.data.items[f],e.push({date:new Date(h.created),config:b,html:a.tmpl(d.favorited,h)})}return e};return a.ajax({url:"http://gdata.youtube.com/feeds/api/users/"+b.user+"/favorites?v=2&alt=jsonc",dataType:"jsonp",success:function(a){c(e(a))}}),{template:d}}}(jQuery);
View
3  src/core.js
@@ -142,8 +142,7 @@
// At then end we call the load method.
if( !jQuery.tmpl ) {
jQuery.getScript(
- "https://raw.github.com/jquery/jquery-tmpl/master/"
- + "jquery.tmpl.min.js",
+ "http://ajax.microsoft.com/ajax/jquery.templates/beta1/jquery.tmpl.min.js",
load);
} else {
load();
View
2  src/services/github.js
@@ -120,7 +120,7 @@ $.fn.lifestream.feeds.github = function( config, callback ) {
date: new Date(status.created_at),
config: config,
html: parseGithubStatus(status),
- url: 'http://github.com/' + config.user
+ url: 'https://github.com/' + config.user
});
}
}
View
56 src/services/googleplus.js
@@ -0,0 +1,56 @@
+(function($) {
+$.fn.lifestream.feeds.googleplus = function( config, callback ) {
+
+ var template = $.extend({},
+ {
+ posted: '<a href="${actor.url}">${actor.displayName}</a> has posted a new entry <a href="${url}" '
+ + 'title="${id}">${title}</a> <!--With--> ${object.replies.totalItems} replies, ${object.plusoners.totalItems} +1s, ${object.resharers.totalItems} Reshares'
+ },
+ config.template),
+
+ parseGooglePlus = function( input ) {
+ var output = [], i = 0, j, item;
+
+ if(input && input.items) {
+ j = input.items.length;
+ for( ; i<j; i++) {
+ item = input.items[i];
+ output.push({
+ date: new Date( item.published ),
+ config: config,
+ html: $.tmpl( template.posted, item )
+ });
+ }
+ }
+
+ return output;
+ };
+
+ $.ajax({
+ url: "https://www.googleapis.com/plus/v1/people/" + config.user +
+ "/activities/public",
+ data: {
+ key: config.key
+ },
+ dataType: 'jsonp',
+ success: function( data ) {
+ if (data.error) {
+ callback([]);
+ if (console && console.error) {
+ console.error('Error loading Google+ stream.', data.error);
+ }
+ return;
+ } else {
+ callback(parseGooglePlus(data));
+ }
+ }
+ });
+
+ // Expose the template.
+ // We use this to check which templates are available
+ return {
+ "template" : template
+ };
+
+};
+})(jQuery);
View
4 src/services/wikipedia.js
@@ -22,8 +22,8 @@ $.fn.lifestream.feeds.wikipedia = function( config, callback ) {
for( ; i<j; i++) {
var item = data.query.usercontribs[i];
-
- // Fastest way to get the URL.
+
+ // Fastest way to get the URL.
// Alternatively, we'd have to poll wikipedia for the pageid's link
item.url = 'http://' + language + '.wikipedia.org/wiki/'
+ item.title.replace(' ', '_');
Please sign in to comment.
Something went wrong with that request. Please try again.