Permalink
Browse files

v0.1.1 support: Blogger, Formspring, Posterous & Wordpress support

Changes:
 - Added formspring icon from http://about.formspring.me/goodies to make sure it looks good on black
 - Stick to 78 column width
 - Update README
  • Loading branch information...
1 parent 9764a59 commit 652c5ab908e1864b61e18edc4d641386b3317e1d @christianvuerings committed Jun 25, 2011
Showing with 48 additions and 38 deletions.
  1. +6 −1 README.md
  2. +2 −2 css/lifestream.css
  3. +31 −28 jquery.lifestream-compiled.js
  4. +8 −6 jquery.lifestream.js
  5. +1 −1 jquery.lifestream.min.js
View
7 README.md
@@ -12,13 +12,15 @@ Check out [the example][example] or create [your own lifestream][melifestream] i
## Supported feeds
-Currently supports the following feeds natively:
+Currently supports the following feeds:
+* [Blogger](http://blogger.com)
* [Dailymotion](http://dailymotion.com)
* [Delicious](http://delicious.com)
* [DeviantART](http://deviantart.com)
* [Dribbble](http://dribbble.com)
* [Flickr](http://flickr.com)
+* [Formspring](http://formspring.com)
* [Forrst](http://forrst.com)
* [Foursquare](http://foursquare.com)
* [Github](http://github.com)
@@ -27,12 +29,14 @@ Currently supports the following feeds natively:
* [Last.fm](http://last.fm)
* [PicPlz](http://picplz.com)
* [Pinboard](http://pinboard.com)
+* [Posterous](http://posterous.com)
* [Reddit](http://reddit.com)
* [Slideshare](http://slideshare.com)
* [Stackoverflow](http://stackoverflow.com)
* [Tumblr](http://tumblr.com)
* [Twitter](http://twitter.com)
* [Vimeo](http://vimeo.com)
+* [Wordpress](http://wordpress.com)
* [Youtube](http://youtube.com)
Feel free to fork the project and add your own feeds in.
@@ -161,6 +165,7 @@ Special thanks all the [committers](https://raw.github.com/christianv/jquery-lif
## Version log
+* 0.1.1 Blogger, Formspring, Posterous & Wordpress support
* 0.1.0 jQuery Template support
* 0.0.17 Forrst & PicPlz support
* 0.0.16 Iusethis support
View
4 css/lifestream.css
@@ -4,7 +4,7 @@
.lifestream-deviantart { background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QzI3MjQwQkQ5MEVFMTFFMEI4ODRFRjhGMUJFQzNDN0EiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QzI3MjQwQkU5MEVFMTFFMEI4ODRFRjhGMUJFQzNDN0EiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpDMjcyNDBCQjkwRUUxMUUwQjg4NEVGOEYxQkVDM0M3QSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpDMjcyNDBCQzkwRUUxMUUwQjg4NEVGOEYxQkVDM0M3QSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pq35Ze8AAAAzUExURbTIRaC0S4OXVHWIWa7CR8LWQW2AXLvPQ2V4XsndP7XIRX2QV5mtToufU8/jPV1wYf///xFd70cAAAARdFJOU/////////////////////8AJa2ZYgAAAGlJREFUeNp8j8sWgCAIRH1mCQz+/9eG1kI9nWYFl+Hlmi5qTh0mWaqYDfgGFbICQUljAocBJFtIMR7BWAdgQSVc1iEDVNUMskHEj4N7xSwmP0AKvgDk5Xi3mCrHaa0P5/+l+3P7+7cAAwAYdA09dz2n7AAAAABJRU5ErkJggg==);}
.lifestream-dribbble { background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6OTlDRUI5REI4QTI1MTFFMDg4M0REMUQxM0UxMjYzMjEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6OTlDRUI5REM4QTI1MTFFMDg4M0REMUQxM0UxMjYzMjEiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo5OUNFQjlEOThBMjUxMUUwODgzREQxRDEzRTEyNjMyMSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo5OUNFQjlEQThBMjUxMUUwODgzREQxRDEzRTEyNjMyMSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PunUnd4AAAJtSURBVHjadFNNaxNRFD0zyWSSSTLVkJA0TU0bUESKuBKRrsWla91IEXcWf4H4G7qQIqV05Q9wof6AICIiFSViU6ppC0lM4qSZTJKZzof3DjOh1Djhvvtyeee8+3Ge4HmegHPf+1vr98mtkt0MQh/Jqrc/bLw6f1Y4S0DAh+TWyW5g9rdLtkFEO/8QEHiL3BrvlZSCmBJHsVIGXA9Gf4BuqwNjoIe4bSJ5NCUg8F3avxFEEcsrVyAKAo73DlC4VEK2mIfnuHCtUzQopml9EIax94jktRgwPueldHkJuVIBmUIOKTWNduMYpjGGRrfXv9QwGgyRL+TDLJ7xErnz7s8D8k+Sc2lUrl/1U3ZPbbjkB10N2u8OBj0N0aiE4uICVFWFrg9h2/b80dbbRjToNqSYhP1PX2GOTTiUrp8mmWu7yM3nkclm/VI828FFdQ7j8Zhhq9Gw42rmAuyJCTmRQEyOIS7HqRfAz1odI91AIq5AcF1IlIksSWEZK0zg9yFFJSjFwvQWx7LRbbY5Ceg0BV078TPi/7IsT+fKBJ9ZMEZfp1sSPnhCjTv8sQ9rYiEWl2GObKSp9nQyhVPLgm4YgOPj9/j2Ku94zgy2qIxf3+t+ExcrSygvlSHQz7FtKFSemkrDEbwwgaoYyHOXRdJrd9A5akIkPZQry0hwqkSUTCUxGhrUUAcnQx0jc8LgGtlWqINNXg4PGnCoUQskoAiJye8HmcKlUbzX19Dq98LbWdLubCkrij8qmTrOwCHNvdluQZQliJEIH9kh8Nqsx8TBpzye/zymb2QvCLw58zWeIXocCOxaEKoFz/nl+bN/BRgA/UAwAjtZohkAAAAASUVORK5CYII=);}
.lifestream-flickr { background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAABGdBTUEAALGPC/xhBQAAASBQTFRFAAAA/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v////7++vz+8vv/9/v+//n8//j88ff9/+/3/+v1y+n9zeH4/9brttL1m9D5ss/1/8Tig8H1mL/x/77egLDtcqjs/6XUbKTr/5LK/47GQ4vlP4bk/4LD/4LC/4HCMoHjKXrh/3e7HHPgDWbdCGbdAGHcAF7bAF3bAFjaAFfaAFXZ/0em/zmc/zSd/zCb/yyY/xWM/wB+/wCB/wB8//z+9fn+AFnaAFbZ/wB/AGLc/wCE/wB6////MxNVrwAAACN0Uk5TAP3SmA877vHt00GVlpoSotrBuf4/mQvQvOwOm53AoDw+nw0ylty2AAAAxElEQVQY02NgAAJ5bnFJDiYeBQYIEONmjAcDRl4pEJ9FKB4OZPmAArzxSICfgYGVEVkgnouBOT5ez9w0Ij5e29pBPz5ekYEp3sgtKspWTScgLi7YOF6AgU3VKTLGw9vQJi42NsxPhZ2BLcLVMybGx8QFKBAdGM7OwBlv5esV6a5rFhoSHecI1CIar2XhbGcQH2/pH2SvES8HtlZdGWRjuCbYWgZpNIcxsEgg+IIgpzMoMUMdKyzDAvWvPA8TBxsnswiIDQCjszlTOmxlagAAAABJRU5ErkJggg==); }
-.lifestream-formspring { background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAcZJREFUeNps009IVFEUx3FnHELNGcEkAwkjoUkhiiJaqIggJZgJYyDkRhpEMBSlCCoolNIWto9Qm4ULQV0JLhwwEzf5ByFSxKgRzUTTCVErBdPvgd/AY/DBZ5h3ufe8c+651+X3+xOOeW6jDKeRgkP8xnd8xjQiNu6JW3ger1GMZPzHrgIk4QQSMYMn+OgM4EUQm2jBNn4pwIbeT6ISz/AeVS5HCRasFAVyCT7HB1Ywil5kot3eYwG8SimoukdV6yr+4RRyUYQMdGMC2R7V9ga1VhPqcRVnMIhZRxbn8AL3sWalWoCAFg+hFZ9wA9W4p3Eb28NFfME47uKdRxMXMYAu9OAxJtGsjgSUwRaeYgdZtm8W4AK+KdVUPFerXqEP13FWY7YnhbiFEJbc/PxRvV+VzQ+8RBh1WhhRBg1q8ZTK3bcMRtCEO4paokkBfS322GHax1t0qIwka2Mefz7gADUY1gLbsHzV6lL6YQV6pDIeWgZzeIBO1Ww97lea83FHvVrZ5WjOgvMk3kQbriGqk7eOZXXIMhvDZTSqW39dcbcxXXtRgStI0wVyq/9+BSl3nn/nE9VGhnQPfDraldpUm//TueBIgAEABRpxEIbjr1sAAAAASUVORK5CYII=);}
+.lifestream-formspring { background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NUExNTBCMTU5NzYzMTFFMDlGRUQ5NEM2RkQ1RDUwODIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NUExNTBCMTY5NzYzMTFFMDlGRUQ5NEM2RkQ1RDUwODIiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo1QTE1MEIxMzk3NjMxMUUwOUZFRDk0QzZGRDVENTA4MiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo1QTE1MEIxNDk3NjMxMUUwOUZFRDk0QzZGRDVENTA4MiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pr2MbGEAAAKKSURBVHjadFNNS2pRFF1Xb59GSYVOSsGnUUEZOWjkyIEVBI2a+APexEHDIAgaC+EsDRo0CPwBUtEkCoJAlB6CSoMiSqQitNS+zXfW5t0I3nsHDveej7XW3mvvo+3t7U3ZbLZoZ2fncLPZxL+Gpmn4fsb109NT4fb2dlFLpVKnTqfT+/b29heopaVFvhwmkwnv7+8yudfa2orLy8tTXV1yvb6+4uPj4wvMy5+fn8hms8hkMnh4eBDA9PQ0HA6HkDAihf2hq4sNQ5HDbDaL8tHREY6Pj0Fyrmu1Gu7u7uDxeNBoCIQiDZ1AKpKRX5Ubtra2cHJygp6eHvT29gr4+voa/f39mJycFBHe/YM1fS3a29txf38vJIODg7BYLNB1XUChUAiHh4dIJpOyb+B0mvfy8oKOjg6USiXE43FcXV1Jrl6vVwjOzs6Qy+UwPj4Ou90OYgxDTVSmYVReXl6Ww9XVVTk8Pz+H2+3G3Nwc/H4/0um0pFGtVkVU0iYBQ8rn87I5MDAgYYbDYVGPRqOIRCJSJZpJU5kq/yUFqtPVx8dHIQoGg1hZWcHNzQ3m5+cxMzODYrGIRCKBsbExjI6OikdG5ELw/PyMoaEh8aBcLmNzc1Pm+vq6pELFQCAg6VxcXIgPxHFqqlzl7u5ua1tbG3Z2drCxsYGFhQXMzs5KiGwgli0Wi0F1LZaWljAyMiLEqsEqOo0gE8Nip7Hu29vb2N3dRVdXF1wulxhH8NraGvr6+uSu0TskMBvh1Ot1+Hw+TExMSN5s4UKhgP39fdlXj072jEGsdnBwcGq1Wr3fXxz/WQGGzslOpADToeHG3Uql8ktXZfmpWKMKMIz/DAI4abbxZlRZCwq7+FuAAQA9hWrm7i8stwAAAABJRU5ErkJggg==); }
.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);}
@@ -21,4 +21,4 @@
.lifestream-twitter { background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAABGdBTUEAALGPC/xhBQAAADBQTFRFAAAA/f38RtD+5fX7+P39g9Ly7/v91/H5/v7+////mOXrwu/zRcXyXcz1r+vwM8z/LZKJ8gAAAAF0Uk5TAEDm2GYAAAB8SURBVAjXY2C9CwYBDKHby4GgOpTh9u6U7HfvXu9luP1k/5N3794BGS/+/4Axfna07AMyVv7///9f1h6G0yDGf6m9EAZU5OfM5ld7GM6t/P95RturNwznlugDpayAjGXrgYq8gIxV8/SBImsY7q7b1jmjbd9dBt4zYHABAAG7YAbUnzIdAAAAAElFTkSuQmCC);}
.lifestream-vimeo { background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABV0RVh0Q3JlYXRpb24gVGltZQA2LzI0LzA59sFr4wAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzIENTNAay06AAAAHcSURBVDiNlZG/a1NRHMU/7+W+1MRWErWLRtCiBVG7aHAThC4REVxcBAeFirtL/w9nwUHQ2SGDiGI3K/grRQwoxGohTfqa2Jdf797vfQ4viU2r2Jzxfs85nHOuc+nxy0N2/8FilEzlGQNO2Fl2W35BhfsyxZnsgfxsNoXj7E0cRVDe9PLfxBaVcZJ5lXBZqrXGCcDRCYVxknlltKXS1mOJASptjdEWZSTC2Gh4sL0OQbnEpJfAOTmHoxTBl4+kIwMwfAMwEqGMthiJDcKNKtNb6zy6fhEv4XL7U0DTb/Lg8mlyUykA7qx0aPX5RluUaEHEAnD11BHuHjsxTDPlwrncYXKZCTw3Xti6IWJivmjBFWMxNq7xrBqyWO6glEIphUTw2tc8KX1HKUWXBI3wD1+MHa0A8G5T43leXMmv82v1Jwv3CgDcelMb4cYV+gm2Y2BwYyZL4cocnuex+H4DvycjPDE7NhhA9Ve+eX4WgPtvqzxfC3Z9pWj5e4IPDc2F6XRs8qrCcq29S7wtwegGAAtLq1w7nuHpV5/ejttoAouS0NJr9khMJoeHesfw8HP9n0IACUIktCgbNkrddc4qmx4x+Z/Y1NtEYaOk6P6YF21fyFZ4Zk/qAaJgxZW1+d/EbwpDSh7scQAAAABJRU5ErkJggg==);}
.lifestream-wordpress { background-image: url(data:image/vndmicrosofticon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAQAABILAAASCwAAAAAAAAAAAAAAAAAKAAAAFgAAACYAAAA3PC0NZXlbGrWOax7jfF4a/3xeGv+Oax7jeVsatTwtDWUAAAA3AAAAJgAAABYAAAAKAAAAAAAAAAAAAAAAm3Uhcp13JO69pG2/5dvFzf///+3////t5dvFzb2kbb+ddyTum3UhcgAAAAAAAAAAAAAAAAAAAACbdSEGm3Uht6iHPtbv59jb+/fx/+nbwv++mlr/u5te/9bBmv//////7+fY26mIP9SbdSG3m3UhBgAAAAAAAAAAm3Uhk6uMRs359Ovz07N4//v59f/38ur/qolL/55/Rv/YyrH//v7//9rGoP/17+Xzq4xGzZt1IZAAAAAAm3UhLZ14Jez38uvZ07J2/9vBkf/+/v7/9fHq/6qSZP+LcUH/9fPu//79/v/k18P/spZj//bx6tideCXsm3UhLZt1IZO+pW695dO0/8efWP/t4cv//v7+/8Ssf//As5j/lYNj//7+///n39P/6uLY/6SHUv/NvqT/vqVuvZt1IZCbdSHb59/LzM+wd//IpWT//f38/+/n2P+vjE3/39fI/8jAsP/+/v7/w6+M/87Cq//NuZX/r5Vm/+ffy8ybdSHVm3Uh+fn28e7Am1n/2cSe//7+/v/WwZv/tZFQ/9jJrf/+/v7//Pz7/7OTW//GqXP/8uvg/7mYW//6+PTum3Uh85t1Ifn9/PrtupZV//Ps4f/8+/n/vZtd/7eSUP/Oto3//v7+/+fdyv+0kE//vJxf///////Krnz/+fbx7pt1IfCbdSHY59/LzM63jf//////6+LR/7OQT/+yj0//59vH///////Ls4j/so9P/8esfP//////4NK4/+ffy8ybdSHVm3UhkL6lbr37+vf//////+Tax/+xkFT/ybGH//7+/v//////wqh4/62LTP/q4tH///////Tw6f++pW69m3UhjZt1IS2ddyTu+vfz18u2kP/Js4z/rIxS/8exiP/Js4z/ybOM/8Cnev+ph0r/+/r4///////7+fbinXck7pt1ISoAAAAAm3UhkKuLRc/08OjytZpo/6WESf+lhEn/pYRJ/6WESf+lhEn/pYRJ/8i0jv/////2q4tFz5t1IY0AAAAAAAAAAJt1IQabdSG3poU62e7n2NvVxan/t51v/6WGTv+igkf/tJpq/9jJrv/w6t3apoU62Zt1IbebdSEGAAAAAAAAAAAAAAAAAAAAAJt1IXKddyTuvKJqwOPZwc7i4eDv4uHg7+PZwc68omrAnXck7pt1IXIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAm3UhJ5t1IY2bdSHMm3Uh/Jt1IfybdSHMm3UhjZt1IScAAAAAAAAAAAAAAAAAAAAAAAAAAOAHAACAAQAAgAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAEAAIABAADgBwAA8A8AAA==);}
-.lifestream-youtube { background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAABGdBTUEAALGPC/xhBQAAAHVQTFRFAAAA1/v+/+/v9eas9eWs/9LT/9LS/9HS/8/PocXiosXi/7u6/7Sy1a5x8av8/5ubZorGZ4rHnnAcRmirRWeq/1hPgUoR/9rZ/7q61a5w/5qaupJL9uat/1hO/1dO8CQA1/v9/ysN8SQA/ysOAAAA/yoN////MKUSUgAAAAF0Uk5TAEDm2GYAAACSSURBVBjTVY6HEsIwDEPN3pTdFroSW/r/T8ShlB66nM95khOLlA/ethwkQtrROMpBaRu+7ESj9WBm3dwv3Q9U1lUJXCYj8JEzD3btwb8khyoCFL1ygVMEhZfgBgRgcpXfiLhXM7AhC91NV5AwAPBJLlU83Di4f4CmN5R1QTZr7pFx4Yk2xtimk5oIkbSCBgyfvAGqWiEukoSMuwAAAABJRU5ErkJggg==);}
+.lifestream-youtube { background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAABGdBTUEAALGPC/xhBQAAAHVQTFRFAAAA1/v+/+/v9eas9eWs/9LT/9LS/9HS/8/PocXiosXi/7u6/7Sy1a5x8av8/5ubZorGZ4rHnnAcRmirRWeq/1hPgUoR/9rZ/7q61a5w/5qaupJL9uat/1hO/1dO8CQA1/v9/ysN8SQA/ysOAAAA/yoN////MKUSUgAAAAF0Uk5TAEDm2GYAAACSSURBVBjTVY6HEsIwDEPN3pTdFroSW/r/T8ShlB66nM95khOLlA/ethwkQtrROMpBaRu+7ESj9WBm3dwv3Q9U1lUJXCYj8JEzD3btwb8khyoCFL1ygVMEhZfgBgRgcpXfiLhXM7AhC91NV5AwAPBJLlU83Di4f4CmN5R1QTZr7pFx4Yk2xtimk5oIkbSCBgyfvAGqWiEukoSMuwAAAABJRU5ErkJggg==);}
View
59 jquery.lifestream-compiled.js
@@ -1,28 +1,31 @@
-(function(h){var k=function(f){return"http://query.yahooapis.com/v1/public/yql?q=__QUERY__&env=store://datatables.org/alltableswithkeys&format=json".replace("__QUERY__",encodeURIComponent(f))};h.fn.lifestream=function(f){var i=this,d=jQuery.extend({classname:"lifestream",limit:10},f),b={count:d.list.length,items:[]},a=jQuery.extend(true,{},d),e=function(c){h.merge(b.items,c);b.items.sort(function(m,n){return n.date-m.date});c=b.items;for(var g=c.length<d.limit?c.length:d.limit,j=0,l,o=h('<ul class="'+
-d.classname+'"/>');j<g;j++){l=c[j];l.html&&h('<li class="'+d.classname+"-"+l.config.service+'">').append(l.html).appendTo(o)}i.html(o)};f=function(){var c=0,g=d.list.length;for(delete a.list;c<g;c++){var j=d.list[c];if(h.fn.lifestream.feeds[j.service]&&h.isFunction(h.fn.lifestream.feeds[j.service])&&j.user){j._settings=a;h.fn.lifestream.feeds[j.service](j,e)}}};jQuery.tmpl?f():jQuery.getScript("https://raw.github.com/jquery/jquery-tmpl/master/jquery.tmpl.min.js",f)};h.fn.lifestream.feeds=h.fn.lifestream.feeds||
-{};h.fn.lifestream.feeds.dailymotion=function(f,i){h.ajax({url:k('select * from xml where url="http://www.dailymotion.com/rss/user/'+f.user+'"'),dataType:"jsonp",success:function(d){var b=[],a=0,e,c;if(d.query&&d.query.count&&d.query.count>0&&d.query.results.rss.channel.item){d=d.query.results.rss.channel.item;for(e=d.length;a<e;a++){c=d[a];b.push({date:new Date(c.pubDate),config:f,html:'uploaded a video <a href="'+c.link+'">'+c.title+"</a>"})}}i(b)}})};h.fn.lifestream.feeds.delicious=function f(i,
-d){i.template=h.extend({},f.template,i.template);h.ajax({url:"http://feeds.delicious.com/v2/json/"+i.user,dataType:"jsonp",success:function(b){var a=[],e=0,c;if(b&&b.length&&b.length>0)for(c=b.length;e<c;e++){var g=b[e];a.push({date:new Date(g.dt),config:i,html:h.tmpl(i.template.bookmarkcreation,{url:g.u,title:g.d})})}d(a)}})};h.fn.lifestream.feeds.delicious.template={bookmarkcreation:'bookmarked <a href="${url}">${title}</a>'};h.fn.lifestream.feeds.deviantart=function f(i,d){i.template=h.extend({},
-f.template,i.template);h.ajax({url:k('select title,link,pubDate from rss where url="http://backend.deviantart.com/rss.xml?q=gallery%3A'+encodeURIComponent(i.user)+'&type=deviation" | unique(field="title")'),dataType:"jsonp",success:function(b){var a=[],e,c=0,g;if(b.query&&b.query.count>0){b=b.query.results.item;for(g=b.length;c<g;c++){e=b[c];a.push({date:new Date(e.pubDate),config:i,html:h.tmpl(i.template.deviationpost,{url:e.link,title:e.title})})}}d(a)}})};h.fn.lifestream.feeds.deviantart.template=
-{deviationpost:'posted <a href="${url}">${title}</a>'};h.fn.lifestream.feeds.dribbble=function(f,i){h.ajax({url:"http://api.dribbble.com/players/"+f.user+"/shots",dataType:"jsonp",success:function(d){var b=[],a=0,e;if(d&&d.total)for(e=d.shots.length;a<e;a++){var c=d.shots[a];b.push({date:new Date(c.created_at),config:f,html:'posted a shot <a href="'+c.url+'">'+c.title+"</a>"})}i(b)}})};h.fn.lifestream.feeds.flickr=function(f,i){h.ajax({url:"http://api.flickr.com/services/feeds/photos_public.gne?id="+
-f.user+"&lang=en-us&format=json",dataType:"jsonp",jsonp:"jsoncallback",success:function(d){var b=[],a=0,e;if(d&&d.items&&d.items.length>0)for(e=d.items.length;a<e;a++){var c=d.items[a];b.push({date:new Date(c.published),config:f,html:'posted a photo <a href="'+c.link+'">'+c.title+"</a>"})}i(b)}})};h.fn.lifestream.feeds.forrst=function(f,i){h.ajax({url:"http://forrst.com/api/v2/users/posts?username="+f.user,dataType:"jsonp",success:function(d){var b=[],a=0,e;if(d&&d.resp.length&&d.resp.length>0)for(e=
-d.resp.length;a<e;a++){var c=d.resp[a];b.push({date:new Date(c.created_at),config:f,html:"Posted a "+c.post_type+' titled <a href="'+c.post_url+'">'+c.title+"</a>"})}i(b)}})};h.fn.lifestream.feeds.foursquare=function(f,i){h.ajax({url:k('select * from rss where url="https://feeds.foursquare.com/history/'+f.user+'.rss"'),dataType:"jsonp",success:function(d){var b=[],a=0,e;if(d.query&&d.query.count&&d.query.count>0)for(e=d.query.count;a<e;a++){var c=d.query.results.item[a];b.push({date:new Date(c.pubDate),
-config:f,html:'checked in @ <a href="'+c.link+'">'+c.title+"</a>"})}i(b)}})};h.fn.lifestream.feeds.github=function(f,i){var d=function(a){return a.payload.repo||a.repository.owner+"/"+a.repository.name},b=function(a){var e="",c,g,j;if(a.type==="PushEvent"){c="";g=d(a);if(a.payload&&a.payload.shas&&a.payload.shas.json&&a.payload.shas.json[2])c=a.payload.shas.json[2]+" by "+a.payload.shas.json[3];e+='<a href="'+a.url+'" title="'+c+'">pushed</a> to <a href="http://github.com/'+g+'">'+g+"</a>"}else if(a.type===
-"GistEvent"){c=a.payload.desc||"";e+=a.payload.action+'d <a href="'+a.payload.url+'" title ="'+c+'">'+a.payload.name+"</a>"}else if(a.type==="CommitCommentEvent"||a.type==="IssueCommentEvent"){g=d(a);e+='<a href="'+a.url+'">commented</a> on <a href="http://github.com/'+g+'">'+g+"</a>"}else if(a.type==="PullRequestEvent"){g=a.payload.repo||a.repository.owner+"/"+a.repository.name;e+='<a href="'+a.url+'">'+a.payload.action+'</a> pull request on <a href="http://github.com/'+g+'">'+g+"</a>"}else if(a.type===
-"CreateEvent"&&(a.payload.ref_type==="tag"||a.payload.ref_type==="branch"||a.payload.object==="tag")){g=d(a);j=a.payload.ref_type||a.payload.object;c=a.payload.ref||a.payload.object_name;e+="created "+j+' <a href="'+a.url+'">'+c+'</a> for <a href="http://github.com/'+g+'">'+g+"</a>"}else if(a.type==="CreateEvent"){c=a.payload.object_name==="null"?a.payload.name:a.payload.object_name;e+="created "+a.payload.object+' <a href="'+a.url+'">'+c+"</a>"}else if(a.type==="DeleteEvent")e+="deleted "+a.payload.ref_type+
-' <a href="http://github.com/'+a.repository.owner+"/"+a.repository.name+'">'+a.payload.ref+"</a>";return e};h.ajax({url:k('select json.repository.owner,json.repository.name,json.payload,json.type,json.url, json.created_at from json where url="http://github.com/'+f.user+'.json"'),dataType:"jsonp",success:function(a){var e=[],c=0,g;if(a.query&&a.query.count&&a.query.count>0)for(g=a.query.count;c<g;c++){var j=a.query.results.json[c].json;e.push({date:new Date(j.created_at),config:f,html:b(j)})}i(e)}})};
-h.fn.lifestream.feeds.googlereader=function(f,i){h.ajax({url:k('select * from xml where url="www.google.com/reader/public/atom/user%2F'+f.user+'%2Fstate%2Fcom.google%2Fstarred"'),dataType:"jsonp",success:function(d){var b=[],a=0,e;if(d.query&&d.query.count&&d.query.count>0){d=d.query.results.feed.entry;for(e=d.length;a<e;a++){var c=d[a];b.push({date:new Date(parseInt(c["crawl-timestamp-msec"],10)),config:f,html:'starred post <a href="'+c.link.href+'">'+c.title.content+"</a>"})}}i(b)}})};h.fn.lifestream.feeds.iusethis=
-function(f,i){h.ajax({url:k('select * from xml where url="http://iphone.iusethis.com/user/feed.rss/'+f.user+'" or url="http://osx.iusethis.com/user/feed.rss/'+f.user+'" or url="http://win.iusethis.com/user/feed.rss/'+f.user+'"'),dataType:"jsonp",success:function(d){var b=[],a,e,c,g,j,l=0,o,m,n,p,q,r,s=["iPhone","OS X","Windows"];if(d.query&&d.query.count&&d.query.count>0&&d.query.results.rss){o=d.query.results.rss.length;p=["started using","stopped using","stopped loving","Downloaded","commented on",
-"updated entry for","started loving","registered"];for(j=p.length;l<o;l++){r=s[l];a=d.query.results.rss[l].channel.item;e=0;for(c=a.length;e<c;e++){m=a[e];n=m.title.replace(f.user+" ","");for(g=0;g<j;g++)if(n.indexOf(p[g])>-1){q=p[g];break}g=n.split(q);b.push({date:new Date(m.pubDate),config:f,html:q.toLowerCase()+' <a href="'+m.link+'">'+g[1]+"</a> ("+r+")"})}}}i(b)}})};h.fn.lifestream.feeds.lastfm=function(f,i){var d=function(b){var a="";a+='loved <a href="'+b.url+'">'+b.name+'</a> by <a href="'+
-b.artist.url+'">'+b.artist.name+"</a>";return a};h.ajax({url:k('select * from xml where url="http://ws.audioscrobbler.com/2.0/user/'+f.user+'/lovedtracks.xml"'),dataType:"jsonp",success:function(b){var a=[],e=0,c;if(b.query&&b.query.count&&b.query.count>0&&b.query.results.lovedtracks&&b.query.results.lovedtracks.track){b=b.query.results.lovedtracks.track;for(c=b.length;e<c;e++){var g=b[e];a.push({date:new Date(parseInt(g.date.uts*1E3,10)),config:f,html:d(g)})}}i(a)}})};h.fn.lifestream.feeds.picplz=
-function(f,i){h.ajax({url:"http://picplz.com/api/v2/user.json?username="+f.user+"&include_pics=1",dataType:"jsonp",success:function(d){var b=[],a=0,e;if((e=d.value.users[0].pics)&&e.length&&e.length>0)for(d=e.length;a<d;a++){var c=e[a];b.push({date:new Date(c.date*1E3),config:f,html:'Uploaded <a href="'+c.pic_files["640r"].img_url+'">'+(c.caption||c.id)+"</a>"})}i(b)}})};h.fn.lifestream.feeds.pinboard=function(f,i){h.ajax({url:k('select * from xml where url="http://feeds.pinboard.in/rss/u:'+f.user+
-'"'),dataType:"jsonp",success:function(d){var b=[],a=0,e,c;if(d.query&&d.query.count&&d.query.count>0){d=d.query.results.RDF.item;for(e=d.length;a<e;a++){c=d[a];b.push({date:new Date(c.date),config:f,html:'added bookmark <a href="'+c.link+'">'+c.title+"</a>"})}}i(b)}})};h.fn.lifestream.feeds.reddit=function(f,i){var d=function(b){var a="",e="",c="http://www.reddit.com/r/"+b.data.subreddit,g=b.data.ups-b.data.downs;g=g>0?"+"+g:g;if(b.kind==="t1"){e="http://www.reddit.com/r/"+b.data.subreddit+"/comments/"+
-b.data.link_id.substring(3)+"/u/"+b.data.name.substring(3)+"?context=3";a+='<a href="'+e+'">commented ('+g+")</a> "}else if(b.kind==="t3")a+='<a href="http://www.reddit.com'+b.data.permalink+'">created new thread ('+g+")</a> ";a+=' in <a href="'+c+'">/r/'+b.data.subreddit+"</a>";return a};h.ajax({url:"http://www.reddit.com/user/"+f.user+".json",dataType:"jsonp",jsonp:"jsonp",success:function(b){var a=[],e=0,c;if(b&&b.data&&b.data.children&&b.data.children.length>0)for(c=b.data.children.length;e<c;e++){var g=
-b.data.children[e];a.push({date:new Date(g.data.created*1E3),config:f,html:d(g)})}i(a)}})};h.fn.lifestream.feeds.slideshare=function(f,i){h.ajax({url:k('select * from xml where url="http://www.slideshare.net/rss/user/'+f.user+'"'),dataType:"jsonp",success:function(d){var b=[],a=0,e,c;if(d.query&&d.query.count&&d.query.count>0){d=d.query.results.rss.channel.item;for(e=d.length;a<e;a++){c=d[a];b.push({date:new Date(c.pubDate),config:f,html:'uploaded a presentation <a href="'+c.link+'">'+c.title+"</a>"})}}i(b)}})};
-h.fn.lifestream.feeds.stackoverflow=function(f,i){var d=function(b){var a="",e="",c="",g="",j="http://stackoverflow.com/users/"+f.user;if(b.timeline_type==="badge"){e=b.timeline_type+" "+b.action+": "+b.description;c=b.detail;g=j+"?tab=reputation"}else if(b.timeline_type==="revision"||b.timeline_type==="comment"||b.timeline_type==="accepted"||b.timeline_type==="askoranswered"){e=b.post_type+" "+b.action;c=b.detail||b.description||"";g="http://stackoverflow.com/questions/"+b.post_id}a+='<a href="'+
-g+'" title="'+c+'">'+e+"</a> - "+c;return a};h.ajax({url:"http://api.stackoverflow.com/1.1/users/"+f.user+"/timeline?jsonp",dataType:"jsonp",jsonp:"jsonp",success:function(b){var a=[],e=0,c;if(b&&b.total&&b.total>0&&b.user_timelines)for(c=b.user_timelines.length;e<c;e++){var g=b.user_timelines[e];a.push({date:new Date(g.creation_date*1E3),config:f,html:d(g)})}i(a)}})};h.fn.lifestream.feeds.tumblr=function(f,i){var d=function(b,a){return{date:new Date(a.date),config:b,html:"posted a "+a.type+' <a href="'+
-a.url+'">'+(a["regular-title"]||a["quote-text"]||a["conversation-title"]||a["photo-caption"]||a["video-caption"]||a["audio-caption"]||a["regular-body"]||a["link-text"]||a.type||"").replace(/<.+?>/gi," ")+"</a>"}};h.ajax({url:k('select * from tumblr.posts where username="'+f.user+'"'),dataType:"jsonp",success:function(b){var a=[],e=0,c,g;if(b.query&&b.query.count&&b.query.count>0)if(h.isArray(b.query.results.posts.post))for(c=b.query.results.posts.post.length;e<c;e++){g=b.query.results.posts.post[e];
-a.push(d(f,g))}else h.isPlainObject(b.query.results.posts.post)&&a.push(d(f,b.query.results.posts.post));i(a)}})};h.fn.lifestream.feeds.twitter=function(f,i){var d=function(a){return function(e){return e.replace(/(^|[^\w'"]+)\#([a-zA-Z0-9_]+)/g,function(c,g,j){return g+'<a href="http://search.twitter.com/search?q=%23'+j+'">#'+j+"</a>"})}(function(e){return e.replace(/(^|[^\w]+)\@([a-zA-Z0-9_]{1,15})/g,function(c,g,j){return g+'<a href="http://twitter.com/'+j+'">@'+j+"</a>"})}(function(e){return e.replace(/[a-z]+:\/\/[a-z0-9-_]+\.[a-z0-9-_:~%&\?\/.=]+[^:\.,\)\s*$]/ig,
-function(c){return'<a href="'+c+'">'+(c.length>25?c.substr(0,24)+"...":c)+"</a>"})}(a)))},b=function(a){return d(a).replace(/ #([A-Za-z0-9\/\.]*)/g,function(e){return' <a target="_new" href="http://twitter.com/search?q='+e.replace(" #","%23")+'">'+e+"</a>"}).replace(/@[\w]+/g,function(e){return'<a href="http://www.twitter.com/'+e.replace("@","")+'">'+e+"</a>"})};h.ajax({url:k('select status.id, status.created_at, status.text from twitter.user.timeline where screen_name="'+f.user+'"'),dataType:"jsonp",
-success:function(a){var e=[],c=0,g;if(a.query&&a.query.count&&a.query.count>0)for(g=a.query.count;c<g;c++){var j=a.query.results.statuses[c].status;e.push({date:new Date(j.created_at),config:f,html:b(j.text)})}i(e)}})};h.fn.lifestream.feeds.vimeo=function(f,i){h.ajax({url:"http://vimeo.com/api/v2/"+f.user+"/videos.json",dataType:"jsonp",crossDomain:true,success:function(d){var b=[],a=0,e,c;if(d)for(e=d.length;a<e;a++){c=d[a];b.push({date:new Date(c.upload_date),config:f,html:'published a video <a href="'+
-c.url+'" title="'+c.description.replace(/"/g,"'").replace(/<.+?>/gi,"")+'">'+c.title+"</a>"})}i(b)}})};h.fn.lifestream.feeds.youtube=function(f,i){h.ajax({url:"http://gdata.youtube.com/feeds/api/users/"+f.user+"/favorites?v=2&alt=jsonc",dataType:"jsonp",success:function(d){var b=[],a=0,e,c;if(d.data&&d.data.items)for(e=d.data.items.length;a<e;a++){c=d.data.items[a];b.push({date:new Date(c.created),config:f,html:' favorited <a href="'+c.video.player["default"]+'" title="'+c.video.description+'">'+
-c.video.title+"</a>"})}i(b)}})}})(jQuery);
+(function(g){var k=function(f){return"http://query.yahooapis.com/v1/public/yql?q=__QUERY__&env=store://datatables.org/alltableswithkeys&format=json".replace("__QUERY__",encodeURIComponent(f))};g.fn.lifestream=function(f){var i=this,b=jQuery.extend({classname:"lifestream",limit:10},f),d={count:b.list.length,items:[]},a=jQuery.extend(true,{},b),e=function(c){g.merge(d.items,c);d.items.sort(function(m,n){return n.date-m.date});c=d.items;for(var h=c.length<b.limit?c.length:b.limit,j=0,l,o=g('<ul class="'+
+b.classname+'"/>');j<h;j++){l=c[j];l.html&&g('<li class="'+b.classname+"-"+l.config.service+'">').append(l.html).appendTo(o)}i.html(o)};f=function(){var c=0,h=b.list.length;for(delete a.list;c<h;c++){var j=b.list[c];if(g.fn.lifestream.feeds[j.service]&&g.isFunction(g.fn.lifestream.feeds[j.service])&&j.user){j._settings=a;g.fn.lifestream.feeds[j.service](j,e)}}};jQuery.tmpl?f():jQuery.getScript("https://raw.github.com/jquery/jquery-tmpl/master/jquery.tmpl.min.js",f)};g.fn.lifestream.feeds=g.fn.lifestream.feeds||
+{};g.fn.lifestream.feeds.blogger=function(f,i){g.ajax({url:k('select * from xml where url="http://'+f.user+'.blogspot.com/feeds/posts/default"'),dataType:"jsonp",success:function(b){var d=[],a=0,e,c;if(b.query&&b.query.count&&b.query.count>0&&b.query.results.feed.entry){b=b.query.results.feed.entry;for(e=b.length;a<e;a++){c=b[a];d.push({date:new Date(c.published),config:f,html:'posted "<a href="'+c.origLink+'">'+c.title+'</a>"'})}}i(d)}})};g.fn.lifestream.feeds.dailymotion=function(f,i){g.ajax({url:k('select * from xml where url="http://www.dailymotion.com/rss/user/'+
+f.user+'"'),dataType:"jsonp",success:function(b){var d=[],a=0,e,c;if(b.query&&b.query.count&&b.query.count>0&&b.query.results.rss.channel.item){b=b.query.results.rss.channel.item;for(e=b.length;a<e;a++){c=b[a];d.push({date:new Date(c.pubDate),config:f,html:'uploaded a video <a href="'+c.link+'">'+c.title+"</a>"})}}i(d)}})};g.fn.lifestream.feeds.delicious=function f(i,b){i.template=g.extend({},f.template,i.template);g.ajax({url:"http://feeds.delicious.com/v2/json/"+i.user,dataType:"jsonp",success:function(d){var a=
+[],e=0,c;if(d&&d.length&&d.length>0)for(c=d.length;e<c;e++){var h=d[e];a.push({date:new Date(h.dt),config:i,html:g.tmpl(i.template.bookmarkcreation,{url:h.u,title:h.d})})}b(a)}})};g.fn.lifestream.feeds.delicious.template={bookmarkcreation:'bookmarked <a href="${url}">${title}</a>'};g.fn.lifestream.feeds.deviantart=function f(i,b){i.template=g.extend({},f.template,i.template);g.ajax({url:k('select title,link,pubDate from rss where url="http://backend.deviantart.com/rss.xml?q=gallery%3A'+encodeURIComponent(i.user)+
+'&type=deviation" | unique(field="title")'),dataType:"jsonp",success:function(d){var a=[],e,c=0,h;if(d.query&&d.query.count>0){d=d.query.results.item;for(h=d.length;c<h;c++){e=d[c];a.push({date:new Date(e.pubDate),config:i,html:g.tmpl(i.template.deviationpost,{url:e.link,title:e.title})})}}b(a)}})};g.fn.lifestream.feeds.deviantart.template={deviationpost:'posted <a href="${url}">${title}</a>'};g.fn.lifestream.feeds.dribbble=function(f,i){g.ajax({url:"http://api.dribbble.com/players/"+f.user+"/shots",
+dataType:"jsonp",success:function(b){var d=[],a=0,e;if(b&&b.total)for(e=b.shots.length;a<e;a++){var c=b.shots[a];d.push({date:new Date(c.created_at),config:f,html:'posted a shot <a href="'+c.url+'">'+c.title+"</a>"})}i(d)}})};g.fn.lifestream.feeds.flickr=function(f,i){g.ajax({url:"http://api.flickr.com/services/feeds/photos_public.gne?id="+f.user+"&lang=en-us&format=json",dataType:"jsonp",jsonp:"jsoncallback",success:function(b){var d=[],a=0,e;if(b&&b.items&&b.items.length>0)for(e=b.items.length;a<
+e;a++){var c=b.items[a];d.push({date:new Date(c.published),config:f,html:'posted a photo <a href="'+c.link+'">'+c.title+"</a>"})}i(d)}})};g.fn.lifestream.feeds.formspring=function(f,i){g.ajax({url:k('select * from xml where url="http://www.formspring.me/profile/'+f.user+'.rss"'),dataType:"jsonp",success:function(b){var d=[],a=0,e,c;if(b.query&&b.query.count&&b.query.count>0&&b.query.results.rss.channel.item){b=b.query.results.rss.channel.item;for(e=b.length;a<e;a++){c=b[a];d.push({date:new Date(c.pubDate),
+config:f,html:'answered a question <a href="'+c.link+'">'+c.title+"</a>"})}}i(d)}})};g.fn.lifestream.feeds.forrst=function(f,i){g.ajax({url:"http://forrst.com/api/v2/users/posts?username="+f.user,dataType:"jsonp",success:function(b){var d=[],a=0,e;if(b&&b.resp.length&&b.resp.length>0)for(e=b.resp.length;a<e;a++){var c=b.resp[a];d.push({date:new Date(c.created_at),config:f,html:"Posted a "+c.post_type+' titled <a href="'+c.post_url+'">'+c.title+"</a>"})}i(d)}})};g.fn.lifestream.feeds.foursquare=function(f,
+i){g.ajax({url:k('select * from rss where url="https://feeds.foursquare.com/history/'+f.user+'.rss"'),dataType:"jsonp",success:function(b){var d=[],a=0,e;if(b.query&&b.query.count&&b.query.count>0)for(e=b.query.count;a<e;a++){var c=b.query.results.item[a];d.push({date:new Date(c.pubDate),config:f,html:'checked in @ <a href="'+c.link+'">'+c.title+"</a>"})}i(d)}})};g.fn.lifestream.feeds.github=function(f,i){var b=function(a){return a.payload.repo||a.repository.owner+"/"+a.repository.name},d=function(a){var e=
+"",c,h,j;if(a.type==="PushEvent"){c="";h=b(a);if(a.payload&&a.payload.shas&&a.payload.shas.json&&a.payload.shas.json[2])c=a.payload.shas.json[2]+" by "+a.payload.shas.json[3];e+='<a href="'+a.url+'" title="'+c+'">pushed</a> to <a href="http://github.com/'+h+'">'+h+"</a>"}else if(a.type==="GistEvent"){c=a.payload.desc||"";e+=a.payload.action+'d <a href="'+a.payload.url+'" title ="'+c+'">'+a.payload.name+"</a>"}else if(a.type==="CommitCommentEvent"||a.type==="IssueCommentEvent"){h=b(a);e+='<a href="'+
+a.url+'">commented</a> on <a href="http://github.com/'+h+'">'+h+"</a>"}else if(a.type==="PullRequestEvent"){h=a.payload.repo||a.repository.owner+"/"+a.repository.name;e+='<a href="'+a.url+'">'+a.payload.action+'</a> pull request on <a href="http://github.com/'+h+'">'+h+"</a>"}else if(a.type==="CreateEvent"&&(a.payload.ref_type==="tag"||a.payload.ref_type==="branch"||a.payload.object==="tag")){h=b(a);j=a.payload.ref_type||a.payload.object;c=a.payload.ref||a.payload.object_name;e+="created "+j+' <a href="'+
+a.url+'">'+c+'</a> for <a href="http://github.com/'+h+'">'+h+"</a>"}else if(a.type==="CreateEvent"){c=a.payload.object_name==="null"?a.payload.name:a.payload.object_name;e+="created "+a.payload.object+' <a href="'+a.url+'">'+c+"</a>"}else if(a.type==="DeleteEvent")e+="deleted "+a.payload.ref_type+' <a href="http://github.com/'+a.repository.owner+"/"+a.repository.name+'">'+a.payload.ref+"</a>";return e};g.ajax({url:k('select json.repository.owner,json.repository.name,json.payload,json.type,json.url, json.created_at from json where url="http://github.com/'+
+f.user+'.json"'),dataType:"jsonp",success:function(a){var e=[],c=0,h;if(a.query&&a.query.count&&a.query.count>0)for(h=a.query.count;c<h;c++){var j=a.query.results.json[c].json;e.push({date:new Date(j.created_at),config:f,html:d(j)})}i(e)}})};g.fn.lifestream.feeds.googlereader=function(f,i){g.ajax({url:k('select * from xml where url="www.google.com/reader/public/atom/user%2F'+f.user+'%2Fstate%2Fcom.google%2Fstarred"'),dataType:"jsonp",success:function(b){var d=[],a=0,e;if(b.query&&b.query.count&&b.query.count>
+0){b=b.query.results.feed.entry;for(e=b.length;a<e;a++){var c=b[a];d.push({date:new Date(parseInt(c["crawl-timestamp-msec"],10)),config:f,html:'starred post <a href="'+c.link.href+'">'+c.title.content+"</a>"})}}i(d)}})};g.fn.lifestream.feeds.iusethis=function(f,i){g.ajax({url:k('select * from xml where url="http://iphone.iusethis.com/user/feed.rss/'+f.user+'" or url="http://osx.iusethis.com/user/feed.rss/'+f.user+'" or url="http://win.iusethis.com/user/feed.rss/'+f.user+'"'),dataType:"jsonp",success:function(b){var d=
+[],a,e,c,h,j,l=0,o,m,n,p,q,r,s=["iPhone","OS X","Windows"];if(b.query&&b.query.count&&b.query.count>0&&b.query.results.rss){o=b.query.results.rss.length;p=["started using","stopped using","stopped loving","Downloaded","commented on","updated entry for","started loving","registered"];for(j=p.length;l<o;l++){r=s[l];a=b.query.results.rss[l].channel.item;e=0;for(c=a.length;e<c;e++){m=a[e];n=m.title.replace(f.user+" ","");for(h=0;h<j;h++)if(n.indexOf(p[h])>-1){q=p[h];break}h=n.split(q);d.push({date:new Date(m.pubDate),
+config:f,html:q.toLowerCase()+' <a href="'+m.link+'">'+h[1]+"</a> ("+r+")"})}}}i(d)}})};g.fn.lifestream.feeds.lastfm=function(f,i){var b=function(d){var a="";a+='loved <a href="'+d.url+'">'+d.name+'</a> by <a href="'+d.artist.url+'">'+d.artist.name+"</a>";return a};g.ajax({url:k('select * from xml where url="http://ws.audioscrobbler.com/2.0/user/'+f.user+'/lovedtracks.xml"'),dataType:"jsonp",success:function(d){var a=[],e=0,c;if(d.query&&d.query.count&&d.query.count>0&&d.query.results.lovedtracks&&
+d.query.results.lovedtracks.track){d=d.query.results.lovedtracks.track;for(c=d.length;e<c;e++){var h=d[e];a.push({date:new Date(parseInt(h.date.uts*1E3,10)),config:f,html:b(h)})}}i(a)}})};g.fn.lifestream.feeds.picplz=function(f,i){g.ajax({url:"http://picplz.com/api/v2/user.json?username="+f.user+"&include_pics=1",dataType:"jsonp",success:function(b){var d=[],a=0,e;if((e=b.value.users[0].pics)&&e.length&&e.length>0)for(b=e.length;a<b;a++){var c=e[a];d.push({date:new Date(c.date*1E3),config:f,html:'Uploaded <a href="'+
+c.pic_files["640r"].img_url+'">'+(c.caption||c.id)+"</a>"})}i(d)}})};g.fn.lifestream.feeds.pinboard=function(f,i){g.ajax({url:k('select * from xml where url="http://feeds.pinboard.in/rss/u:'+f.user+'"'),dataType:"jsonp",success:function(b){var d=[],a=0,e,c;if(b.query&&b.query.count&&b.query.count>0){b=b.query.results.RDF.item;for(e=b.length;a<e;a++){c=b[a];d.push({date:new Date(c.date),config:f,html:'added bookmark <a href="'+c.link+'">'+c.title+"</a>"})}}i(d)}})};g.fn.lifestream.feeds.posterous=
+function(f,i){g.ajax({url:k('select * from xml where url="http://'+f.user+'.posterous.com/rss.xml"'),dataType:"jsonp",success:function(b){var d=[],a=0,e,c;if(b.query&&b.query.count&&b.query.count>0&&b.query.results.rss.channel.item){b=b.query.results.rss.channel.item;for(e=b.length;a<e;a++){c=b[a];d.push({date:new Date(c.pubDate),config:f,html:'posted "<a href="'+c.link+'">'+c.title+'</a>"'})}}i(d)}})};g.fn.lifestream.feeds.reddit=function(f,i){var b=function(d){var a="",e="",c="http://www.reddit.com/r/"+
+d.data.subreddit,h=d.data.ups-d.data.downs;h=h>0?"+"+h:h;if(d.kind==="t1"){e="http://www.reddit.com/r/"+d.data.subreddit+"/comments/"+d.data.link_id.substring(3)+"/u/"+d.data.name.substring(3)+"?context=3";a+='<a href="'+e+'">commented ('+h+")</a> "}else if(d.kind==="t3")a+='<a href="http://www.reddit.com'+d.data.permalink+'">created new thread ('+h+")</a> ";a+=' in <a href="'+c+'">/r/'+d.data.subreddit+"</a>";return a};g.ajax({url:"http://www.reddit.com/user/"+f.user+".json",dataType:"jsonp",jsonp:"jsonp",
+success:function(d){var a=[],e=0,c;if(d&&d.data&&d.data.children&&d.data.children.length>0)for(c=d.data.children.length;e<c;e++){var h=d.data.children[e];a.push({date:new Date(h.data.created*1E3),config:f,html:b(h)})}i(a)}})};g.fn.lifestream.feeds.slideshare=function(f,i){g.ajax({url:k('select * from xml where url="http://www.slideshare.net/rss/user/'+f.user+'"'),dataType:"jsonp",success:function(b){var d=[],a=0,e,c;if(b.query&&b.query.count&&b.query.count>0){b=b.query.results.rss.channel.item;for(e=
+b.length;a<e;a++){c=b[a];d.push({date:new Date(c.pubDate),config:f,html:'uploaded a presentation <a href="'+c.link+'">'+c.title+"</a>"})}}i(d)}})};g.fn.lifestream.feeds.stackoverflow=function(f,i){var b=function(d){var a="",e="",c="",h="",j="http://stackoverflow.com/users/"+f.user;if(d.timeline_type==="badge"){e=d.timeline_type+" "+d.action+": "+d.description;c=d.detail;h=j+"?tab=reputation"}else if(d.timeline_type==="revision"||d.timeline_type==="comment"||d.timeline_type==="accepted"||d.timeline_type===
+"askoranswered"){e=d.post_type+" "+d.action;c=d.detail||d.description||"";h="http://stackoverflow.com/questions/"+d.post_id}a+='<a href="'+h+'" title="'+c+'">'+e+"</a> - "+c;return a};g.ajax({url:"http://api.stackoverflow.com/1.1/users/"+f.user+"/timeline?jsonp",dataType:"jsonp",jsonp:"jsonp",success:function(d){var a=[],e=0,c;if(d&&d.total&&d.total>0&&d.user_timelines)for(c=d.user_timelines.length;e<c;e++){var h=d.user_timelines[e];a.push({date:new Date(h.creation_date*1E3),config:f,html:b(h)})}i(a)}})};
+g.fn.lifestream.feeds.tumblr=function(f,i){var b=function(d,a){return{date:new Date(a.date),config:d,html:"posted a "+a.type+' <a href="'+a.url+'">'+(a["regular-title"]||a["quote-text"]||a["conversation-title"]||a["photo-caption"]||a["video-caption"]||a["audio-caption"]||a["regular-body"]||a["link-text"]||a.type||"").replace(/<.+?>/gi," ")+"</a>"}};g.ajax({url:k('select * from tumblr.posts where username="'+f.user+'"'),dataType:"jsonp",success:function(d){var a=[],e=0,c,h;if(d.query&&d.query.count&&
+d.query.count>0)if(g.isArray(d.query.results.posts.post))for(c=d.query.results.posts.post.length;e<c;e++){h=d.query.results.posts.post[e];a.push(b(f,h))}else g.isPlainObject(d.query.results.posts.post)&&a.push(b(f,d.query.results.posts.post));i(a)}})};g.fn.lifestream.feeds.twitter=function(f,i){var b=function(a){return function(e){return e.replace(/(^|[^\w'"]+)\#([a-zA-Z0-9_]+)/g,function(c,h,j){return h+'<a href="http://search.twitter.com/search?q=%23'+j+'">#'+j+"</a>"})}(function(e){return e.replace(/(^|[^\w]+)\@([a-zA-Z0-9_]{1,15})/g,
+function(c,h,j){return h+'<a href="http://twitter.com/'+j+'">@'+j+"</a>"})}(function(e){return e.replace(/[a-z]+:\/\/[a-z0-9-_]+\.[a-z0-9-_:~%&\?\/.=]+[^:\.,\)\s*$]/ig,function(c){return'<a href="'+c+'">'+(c.length>25?c.substr(0,24)+"...":c)+"</a>"})}(a)))},d=function(a){return b(a).replace(/ #([A-Za-z0-9\/\.]*)/g,function(e){return' <a target="_new" href="http://twitter.com/search?q='+e.replace(" #","%23")+'">'+e+"</a>"}).replace(/@[\w]+/g,function(e){return'<a href="http://www.twitter.com/'+e.replace("@",
+"")+'">'+e+"</a>"})};g.ajax({url:k('select status.id, status.created_at, status.text from twitter.user.timeline where screen_name="'+f.user+'"'),dataType:"jsonp",success:function(a){var e=[],c=0,h;if(a.query&&a.query.count&&a.query.count>0)for(h=a.query.count;c<h;c++){var j=a.query.results.statuses[c].status;e.push({date:new Date(j.created_at),config:f,html:d(j.text)})}i(e)}})};g.fn.lifestream.feeds.vimeo=function(f,i){g.ajax({url:"http://vimeo.com/api/v2/"+f.user+"/videos.json",dataType:"jsonp",
+crossDomain:true,success:function(b){var d=[],a=0,e,c;if(b)for(e=b.length;a<e;a++){c=b[a];d.push({date:new Date(c.upload_date),config:f,html:'published a video <a href="'+c.url+'" title="'+c.description.replace(/"/g,"'").replace(/<.+?>/gi,"")+'">'+c.title+"</a>"})}i(d)}})};g.fn.lifestream.feeds.wordpress=function(f,i){g.ajax({url:k('select * from xml where url="http://'+f.user+'.wordpress.com/feed"'),dataType:"jsonp",success:function(b){var d=[],a=0,e,c;if(b.query&&b.query.count&&b.query.count>0&&
+b.query.results.rss.channel.item){b=b.query.results.rss.channel.item;for(e=b.length;a<e;a++){c=b[a];d.push({date:new Date(c.pubDate),config:f,html:'posted "<a href="'+c.link+'">'+c.title+'</a>"'})}}i(d)}})};g.fn.lifestream.feeds.youtube=function(f,i){g.ajax({url:"http://gdata.youtube.com/feeds/api/users/"+f.user+"/favorites?v=2&alt=jsonc",dataType:"jsonp",success:function(b){var d=[],a=0,e,c;if(b.data&&b.data.items)for(e=b.data.items.length;a<e;a++){c=b.data.items[a];d.push({date:new Date(c.created),
+config:f,html:' favorited <a href="'+c.video.player["default"]+'" title="'+c.video.description+'">'+c.video.title+"</a>"})}i(d)}})}})(jQuery);
View
14 jquery.lifestream.js
@@ -1,6 +1,6 @@
/*!
* jQuery Lifestream Plug-in
- * @version 0.1.0
+ * @version 0.1.1
* Show a stream of your online activity
*
* Copyright 2011, Christian Vuerings - http://denbuzze.com
@@ -174,15 +174,16 @@
}
$.ajax({
- url: createYqlUrl('select * from xml where '
- + 'url="http://' + config.user + '.blogspot.com/feeds/posts/default"'),
+ url: createYqlUrl('select * from xml where url="http://'
+ + config.user + '.blogspot.com/feeds/posts/default"'),
dataType: "jsonp",
success: function ( data ) {
callback(parseBlogger(data));
}
});
};
+
$.fn.lifestream.feeds.dailymotion = function( config, callback ) {
var parseDailymotion = function( input ) {
@@ -356,6 +357,7 @@
});
};
+
$.fn.lifestream.feeds.formspring = function ( config, callback ) {
var parseFormspring = function ( input ) {
@@ -371,7 +373,7 @@
output.push({
date: new Date( item.pubDate ),
config: config,
- html: 'answered a question : <a href="' + item.link + '">'
+ html: 'answered a question <a href="' + item.link + '">'
+ item.title + '</a>'
});
}
@@ -1141,7 +1143,7 @@
});
};
-
+
$.fn.lifestream.feeds.wordpress = function ( config, callback ) {
var parseWordpress = function ( input ) {
@@ -1213,4 +1215,4 @@
};
-}( jQuery ));
+}( jQuery ));
View
2 jquery.lifestream.min.js
@@ -5,4 +5,4 @@
*
* Copyright 2011, Christian Vuerings - http://denbuzze.com
*/
-(function($){var createYqlUrl=function(query){return("http://query.yahooapis.com/v1/public/yql?q=__QUERY__&env=store://datatables.org/alltableswithkeys&format=json").replace("__QUERY__",encodeURIComponent(query))};$.fn.lifestream=function(config){var outputElement=this,settings=jQuery.extend({classname:"lifestream",limit:10},config),data={count:settings.list.length,items:[]},itemsettings=jQuery.extend(true,{},settings),finished=function(inputdata){$.merge(data.items,inputdata);data.items.sort(function(a,b){return(b.date-a.date)});var items=data.items,length=(items.length<settings.limit)?items.length:settings.limit,i=0,item,ul=$('<ul class="'+settings.classname+'"/>');for(;i<length;i++){item=items[i];if(item.html){$('<li class="'+settings.classname+"-"+item.config.service+'">').append(item.html).appendTo(ul)}}outputElement.html(ul)},load=function(){var i=0,j=settings.list.length;delete itemsettings.list;for(;i<j;i++){var config=settings.list[i];if($.fn.lifestream.feeds[config.service]&&$.isFunction($.fn.lifestream.feeds[config.service])&&config.user){config._settings=itemsettings;$.fn.lifestream.feeds[config.service](config,finished)}}};if(!jQuery.tmpl){jQuery.getScript("https://raw.github.com/jquery/jquery-tmpl/master/jquery.tmpl.min.js",load)}else{load()}};$.fn.lifestream.feeds=$.fn.lifestream.feeds||{};$.fn.lifestream.feeds.dailymotion=function(config,callback){var parseDailymotion=function(input){var output=[],list,i=0,j,item;if(input.query&&input.query.count&&input.query.count>0&&input.query.results.rss.channel.item){list=input.query.results.rss.channel.item;j=list.length;for(;i<j;i++){item=list[i];output.push({date:new Date(item.pubDate),config:config,html:'uploaded a video <a href="'+item.link+'">'+item.title+"</a>"})}}return output};$.ajax({url:createYqlUrl('select * from xml where url="http://www.dailymotion.com/rss/user/'+config.user+'"'),dataType:"jsonp",success:function(data){callback(parseDailymotion(data))}})};$.fn.lifestream.feeds.delicious=function f(config,callback){config.template=$.extend({},f.template,config.template);$.ajax({url:"http://feeds.delicious.com/v2/json/"+config.user,dataType:"jsonp",success:function(data){var output=[],i=0,j;if(data&&data.length&&data.length>0){j=data.length;for(;i<j;i++){var item=data[i];output.push({date:new Date(item.dt),config:config,html:$.tmpl(config.template.bookmarkcreation,{url:item.u,title:item.d})})}}callback(output)}})};$.fn.lifestream.feeds.delicious.template={bookmarkcreation:'bookmarked <a href="${url}">${title}</a>'};$.fn.lifestream.feeds.deviantart=function f(config,callback){config.template=$.extend({},f.template,config.template);$.ajax({url:createYqlUrl('select title,link,pubDate from rss where url="http://backend.deviantart.com/rss.xml?q=gallery%3A'+encodeURIComponent(config.user)+'&type=deviation" | unique(field="title")'),dataType:"jsonp",success:function(resp){var output=[],items,item,i=0,j;if(resp.query&&resp.query.count>0){items=resp.query.results.item;j=items.length;for(;i<j;i++){item=items[i];output.push({date:new Date(item.pubDate),config:config,html:$.tmpl(config.template.deviationpost,{url:item.link,title:item.title})})}}callback(output)}})};$.fn.lifestream.feeds.deviantart.template={deviationpost:'posted <a href="${url}">${title}</a>'};$.fn.lifestream.feeds.dribbble=function(config,callback){var parseDribbbleItem=function(item){var output='posted a shot <a href="'+item.url+'">'+item.title+"</a>";return output};$.ajax({url:"http://api.dribbble.com/players/"+config.user+"/shots",dataType:"jsonp",success:function(data){var output=[],i=0,j;if(data&&data.total){j=data.shots.length;for(;i<j;i++){var item=data.shots[i];output.push({date:new Date(item.created_at),config:config,html:parseDribbbleItem(item)})}}callback(output)}})};$.fn.lifestream.feeds.flickr=function(config,callback){var parseFlickrItem=function(item){var output='posted a photo <a href="'+item.link+'">'+item.title+"</a>";return output};$.ajax({url:"http://api.flickr.com/services/feeds/photos_public.gne?id="+config.user+"&lang=en-us&format=json",dataType:"jsonp",jsonp:"jsoncallback",success:function(data){var output=[],i=0,j;if(data&&data.items&&data.items.length>0){j=data.items.length;for(;i<j;i++){var item=data.items[i];output.push({date:new Date(item.published),config:config,html:parseFlickrItem(item)})}}callback(output)}})};$.fn.lifestream.feeds.forrst=function(config,callback){var parseForrstItem=function(item){return"Posted a "+item.post_type+' titled <a href="'+item.post_url+'">'+item.title+"</a>"};$.ajax({url:"http://forrst.com/api/v2/users/posts?username="+config.user,dataType:"jsonp",success:function(data){var output=[],i=0,j;if(data&&data.resp.length&&data.resp.length>0){j=data.resp.length;for(;i<j;i++){var item=data.resp[i];output.push({date:new Date(item.created_at),config:config,html:parseForrstItem(item)})}}callback(output)}})};$.fn.lifestream.feeds.foursquare=function(config,callback){var parseFoursquareStatus=function(item){var output='checked in @ <a href="'+item.link+'">'+item.title+"</a>";return output},parseFoursquare=function(input){var output=[],i=0,j;if(input.query&&input.query.count&&input.query.count>0){j=input.query.count;for(;i<j;i++){var status=input.query.results.item[i];output.push({date:new Date(status.pubDate),config:config,html:parseFoursquareStatus(status)})}}return output};$.ajax({url:createYqlUrl('select * from rss where url="https://feeds.foursquare.com/history/'+config.user+'.rss"'),dataType:"jsonp",success:function(data){callback(parseFoursquare(data))}})};$.fn.lifestream.feeds.github=function(config,callback){var returnRepo=function(status){return status.payload.repo||status.repository.owner+"/"+status.repository.name},parseGithubStatus=function(status){var output="",name,repo,title,type;if(status.type==="PushEvent"){title="";repo=returnRepo(status);if(status.payload&&status.payload.shas&&status.payload.shas.json&&status.payload.shas.json[2]){title=status.payload.shas.json[2]+" by "+status.payload.shas.json[3]}output+='<a href="'+status.url+'" title="'+title+'">pushed</a> to <a href="http://github.com/'+repo+'">'+repo+"</a>"}else{if(status.type==="GistEvent"){title=status.payload.desc||"";output+=status.payload.action+'d <a href="'+status.payload.url+'" title ="'+title+'">'+status.payload.name+"</a>"}else{if(status.type==="CommitCommentEvent"||status.type==="IssueCommentEvent"){repo=returnRepo(status);output+='<a href="'+status.url+'">commented</a> on <a href="http://github.com/'+repo+'">'+repo+"</a>"}else{if(status.type==="PullRequestEvent"){repo=status.payload.repo||status.repository.owner+"/"+status.repository.name;output+='<a href="'+status.url+'">'+status.payload.action+'</a> pull request on <a href="http://github.com/'+repo+'">'+repo+"</a>"}else{if(status.type==="CreateEvent"&&(status.payload.ref_type==="tag"||status.payload.ref_type==="branch"||status.payload.object==="tag")){repo=returnRepo(status);type=status.payload.ref_type||status.payload.object;name=status.payload.ref||status.payload.object_name;output+="created "+type+' <a href="'+status.url+'">'+name+'</a> for <a href="http://github.com/'+repo+'">'+repo+"</a>"}else{if(status.type==="CreateEvent"){name=(status.payload.object_name==="null")?status.payload.name:status.payload.object_name;output+="created "+status.payload.object+' <a href="'+status.url+'">'+name+"</a>"}else{if(status.type==="DeleteEvent"){output+="deleted "+status.payload.ref_type+' <a href="http://github.com/'+status.repository.owner+"/"+status.repository.name+'">'+status.payload.ref+"</a>"}}}}}}}return output},parseGithub=function(input){var output=[],i=0,j;if(input.query&&input.query.count&&input.query.count>0){j=input.query.count;for(;i<j;i++){var status=input.query.results.json[i].json;output.push({date:new Date(status.created_at),config:config,html:parseGithubStatus(status)})}}return output};$.ajax({url:createYqlUrl('select json.repository.owner,json.repository.name,json.payload,json.type,json.url, json.created_at from json where url="http://github.com/'+config.user+'.json"'),dataType:"jsonp",success:function(data){callback(parseGithub(data))}})};$.fn.lifestream.feeds.googlereader=function(config,callback){var parseReaderEntry=function(entry){return'starred post <a href="'+entry.link.href+'">'+entry.title.content+"</a>"},parseReader=function(input){var output=[],list,i=0,j;if(input.query&&input.query.count&&input.query.count>0){list=input.query.results.feed.entry;j=list.length;for(;i<j;i++){var entry=list[i];output.push({date:new Date(parseInt(entry["crawl-timestamp-msec"],10)),config:config,html:parseReaderEntry(entry)})}}return output};$.ajax({url:createYqlUrl('select * from xml where url="www.google.com/reader/public/atom/user%2F'+config.user+'%2Fstate%2Fcom.google%2Fstarred"'),dataType:"jsonp",success:function(data){callback(parseReader(data))}})};$.fn.lifestream.feeds.iusethis=function(config,callback){var parseIusethis=function(input){var output=[],list,i,j,k,l,m=0,n,item,title,actions,action,what,os,oss=["iPhone","OS X","Windows"];if(input.query&&input.query.count&&input.query.count>0&&input.query.results.rss){n=input.query.results.rss.length;actions=["started using","stopped using","stopped loving","Downloaded","commented on","updated entry for","started loving","registered"];l=actions.length;for(;m<n;m++){os=oss[m];list=input.query.results.rss[m].channel.item;i=0;j=list.length;for(;i<j;i++){item=list[i];title=item.title.replace(config.user+" ","");k=0;for(;k<l;k++){if(title.indexOf(actions[k])>-1){action=actions[k];break}}what=title.split(action);output.push({date:new Date(item.pubDate),config:config,html:action.toLowerCase()+' <a href="'+item.link+'">'+what[1]+"</a> ("+os+")"})}}}return output};$.ajax({url:createYqlUrl('select * from xml where url="http://iphone.iusethis.com/user/feed.rss/'+config.user+'" or url="http://osx.iusethis.com/user/feed.rss/'+config.user+'" or url="http://win.iusethis.com/user/feed.rss/'+config.user+'"'),dataType:"jsonp",success:function(data){callback(parseIusethis(data))}})};$.fn.lifestream.feeds.lastfm=function(config,callback){var parseLastfmEntry=function(entry){var output="";output+='loved <a href="'+entry.url+'">'+entry.name+'</a> by <a href="'+entry.artist.url+'">'+entry.artist.name+"</a>";return output},parseLastfm=function(input){var output=[],list,i=0,j;if(input.query&&input.query.count&&input.query.count>0&&input.query.results.lovedtracks&&input.query.results.lovedtracks.track){list=input.query.results.lovedtracks.track;j=list.length;for(;i<j;i++){var entry=list[i];output.push({date:new Date(parseInt((entry.date.uts*1000),10)),config:config,html:parseLastfmEntry(entry)})}}return output};$.ajax({url:createYqlUrl('select * from xml where url="http://ws.audioscrobbler.com/2.0/user/'+config.user+'/lovedtracks.xml"'),dataType:"jsonp",success:function(data){callback(parseLastfm(data))}})};$.fn.lifestream.feeds.picplz=function(config,callback){var parsePicplzItem=function(item){var imagename=item.caption||item.id;return'Uploaded <a href="'+item.pic_files["640r"].img_url+'">'+imagename+"</a>"};$.ajax({url:"http://picplz.com/api/v2/user.json?username="+config.user+"&include_pics=1",dataType:"jsonp",success:function(data){var output=[],i=0,j,images;images=data.value.users[0].pics;if(images&&images.length&&images.length>0){j=images.length;for(;i<j;i++){var item=images[i];output.push({date:new Date((item.date)*1000),config:config,html:parsePicplzItem(item)})}}callback(output)}})};$.fn.lifestream.feeds.pinboard=function(config,callback){var parsePinboard=function(input){var output=[],list,i=0,j,item;if(input.query&&input.query.count&&input.query.count>0){list=input.query.results.RDF.item;j=list.length;for(;i<j;i++){item=list[i];output.push({date:new Date(item.date),config:config,html:'added bookmark <a href="'+item.link+'">'+item.title+"</a>"})}}return output};$.ajax({url:createYqlUrl('select * from xml where url="http://feeds.pinboard.in/rss/u:'+config.user+'"'),dataType:"jsonp",success:function(data){callback(parsePinboard(data))}})};$.fn.lifestream.feeds.reddit=function(config,callback){var parseRedditItem=function(item){var output="",thread_link="",subreddit_link="http://www.reddit.com/r/"+item.data.subreddit,score=item.data.ups-item.data.downs;score=(score>0)?"+"+score:score;if(item.kind==="t1"){thread_link="http://www.reddit.com/r/"+item.data.subreddit+"/comments/"+item.data.link_id.substring(3)+"/u/"+item.data.name.substring(3)+"?context=3";output+='<a href="'+thread_link+'">commented ('+score+")</a> "}else{if(item.kind==="t3"){output+='<a href="http://www.reddit.com'+item.data.permalink+'">created new thread ('+score+")</a> "}}output+=' in <a href="'+subreddit_link+'">/r/'+item.data.subreddit+"</a>";return output},convertDate=function(date){return new Date(date*1000)};$.ajax({url:"http://www.reddit.com/user/"+config.user+".json",dataType:"jsonp",jsonp:"jsonp",success:function(data){var output=[],i=0,j;if(data&&data.data&&data.data.children&&data.data.children.length>0){j=data.data.children.length;for(;i<j;i++){var item=data.data.children[i];output.push({date:convertDate(item.data.created),config:config,html:parseRedditItem(item)})}}callback(output)}})};$.fn.lifestream.feeds.slideshare=function(config,callback){var parseSlideshare=function(input){var output=[],list,i=0,j,item;if(input.query&&input.query.count&&input.query.count>0){list=input.query.results.rss.channel.item;j=list.length;for(;i<j;i++){item=list[i];output.push({date:new Date(item.pubDate),config:config,html:'uploaded a presentation <a href="'+item.link+'">'+item.title+"</a>"})}}return output};$.ajax({url:createYqlUrl('select * from xml where url="http://www.slideshare.net/rss/user/'+config.user+'"'),dataType:"jsonp",success:function(data){callback(parseSlideshare(data))}})};$.fn.lifestream.feeds.stackoverflow=function(config,callback){var parseStackoverflowItem=function(item){var output="",text="",title="",link="",stackoverflow_link="http://stackoverflow.com/users/"+config.user,question_link="http://stackoverflow.com/questions/";if(item.timeline_type==="badge"){text=item.timeline_type+" "+item.action+": "+item.description;title=item.detail;link=stackoverflow_link+"?tab=reputation"}else{if(item.timeline_type==="revision"||item.timeline_type==="comment"||item.timeline_type==="accepted"||item.timeline_type==="askoranswered"){text=item.post_type+" "+item.action;title=item.detail||item.description||"";link=question_link+item.post_id}}output+='<a href="'+link+'" title="'+title+'">'+text+"</a> - "+title;return output},convertDate=function(date){return new Date(date*1000)};$.ajax({url:"http://api.stackoverflow.com/1.1/users/"+config.user+"/timeline?jsonp",dataType:"jsonp",jsonp:"jsonp",success:function(data){var output=[],i=0,j;if(data&&data.total&&data.total>0&&data.user_timelines){j=data.user_timelines.length;for(;i<j;i++){var item=data.user_timelines[i];output.push({date:convertDate(item.creation_date),config:config,html:parseStackoverflowItem(item)})}}callback(output)}})};$.fn.lifestream.feeds.tumblr=function(config,callback){var getTitle=function(post){var title=post["regular-title"]||post["quote-text"]||post["conversation-title"]||post["photo-caption"]||post["video-caption"]||post["audio-caption"]||post["regular-body"]||post["link-text"]||post.type||"";return title.replace(/<.+?>/gi," ")},createTumblrOutput=function(config,post){return{date:new Date(post.date),config:config,html:"posted a "+post.type+' <a href="'+post.url+'">'+getTitle(post)+"</a>"}},parseTumblr=function(input){var output=[],i=0,j,post;if(input.query&&input.query.count&&input.query.count>0){if($.isArray(input.query.results.posts.post)){j=input.query.results.posts.post.length;for(;i<j;i++){post=input.query.results.posts.post[i];output.push(createTumblrOutput(config,post))}}else{if($.isPlainObject(input.query.results.posts.post)){output.push(createTumblrOutput(config,input.query.results.posts.post))}}}return output};$.ajax({url:createYqlUrl('select * from tumblr.posts where username="'+config.user+'"'),dataType:"jsonp",success:function(data){callback(parseTumblr(data))}})};$.fn.lifestream.feeds.twitter=function(config,callback){var linkify=function(tweet){var link=function(t){return t.replace(/[a-z]+:\/\/[a-z0-9-_]+\.[a-z0-9-_:~%&\?\/.=]+[^:\.,\)\s*$]/ig,function(m){return'<a href="'+m+'">'+((m.length>25)?m.substr(0,24)+"...":m)+"</a>"})},at=function(t){return t.replace(/(^|[^\w]+)\@([a-zA-Z0-9_]{1,15})/g,function(m,m1,m2){return m1+'<a href="http://twitter.com/'+m2+'">@'+m2+"</a>"})},hash=function(t){return t.replace(/(^|[^\w'"]+)\#([a-zA-Z0-9_]+)/g,function(m,m1,m2){return m1+'<a href="http://search.twitter.com/search?q=%23'+m2+'">#'+m2+"</a>"})};return hash(at(link(tweet)))},addTwitterLinks=function(tweet){return linkify(tweet).replace(/ #([A-Za-z0-9\/\.]*)/g,function(m){return' <a target="_new" href="http://twitter.com/search?q='+m.replace(" #","%23")+'">'+m+"</a>"}).replace(/@[\w]+/g,function(m){return'<a href="http://www.twitter.com/'+m.replace("@","")+'">'+m+"</a>"})},parseTwitter=function(input){var output=[],i=0,j;if(input.query&&input.query.count&&input.query.count>0){j=input.query.count;for(;i<j;i++){var status=input.query.results.statuses[i].status;output.push({date:new Date(status.created_at),config:config,html:addTwitterLinks(status.text)})}}return output};$.ajax({url:createYqlUrl('select status.id, status.created_at, status.text from twitter.user.timeline where screen_name="'+config.user+'"'),dataType:"jsonp",success:function(data){callback(parseTwitter(data))}})};$.fn.lifestream.feeds.vimeo=function(config,callback){var parseVimeoItem=function(item){return'published a video <a href="'+item.url+'" title="'+item.description.replace(/"/g,"'").replace(/<.+?>/gi,"")+'">'+item.title+"</a>"},parseVimeo=function(input){var output=[],i=0,j,item;if(input){j=input.length;for(;i<j;i++){item=input[i];output.push({date:new Date(item.upload_date),config:config,html:parseVimeoItem(item)})}}return output};$.ajax({url:"http://vimeo.com/api/v2/"+config.user+"/videos.json",dataType:"jsonp",crossDomain:true,success:function(data){callback(parseVimeo(data))}})};$.fn.lifestream.feeds.youtube=function(config,callback){var parseYoutubeItem=function(item){return' favorited <a href="'+item.video.player["default"]+'" title="'+item.video.description+'">'+item.video.title+"</a>"},parseYoutube=function(input){var output=[],i=0,j,item;if(input.data&&input.data.items){j=input.data.items.length;for(;i<j;i++){item=input.data.items[i];output.push({date:new Date(item.created),config:config,html:parseYoutubeItem(item)})}}return output};$.ajax({url:"http://gdata.youtube.com/feeds/api/users/"+config.user+"/favorites?v=2&alt=jsonc",dataType:"jsonp",success:function(data){callback(parseYoutube(data))}})}}(jQuery));
+(function($){var createYqlUrl=function(query){return("http://query.yahooapis.com/v1/public/yql?q=__QUERY__&env=store://datatables.org/alltableswithkeys&format=json").replace("__QUERY__",encodeURIComponent(query))};$.fn.lifestream=function(config){var outputElement=this,settings=jQuery.extend({classname:"lifestream",limit:10},config),data={count:settings.list.length,items:[]},itemsettings=jQuery.extend(true,{},settings),finished=function(inputdata){$.merge(data.items,inputdata);data.items.sort(function(a,b){return(b.date-a.date)});var items=data.items,length=(items.length<settings.limit)?items.length:settings.limit,i=0,item,ul=$('<ul class="'+settings.classname+'"/>');for(;i<length;i++){item=items[i];if(item.html){$('<li class="'+settings.classname+"-"+item.config.service+'">').append(item.html).appendTo(ul)}}outputElement.html(ul)},load=function(){var i=0,j=settings.list.length;delete itemsettings.list;for(;i<j;i++){var config=settings.list[i];if($.fn.lifestream.feeds[config.service]&&$.isFunction($.fn.lifestream.feeds[config.service])&&config.user){config._settings=itemsettings;$.fn.lifestream.feeds[config.service](config,finished)}}};if(!jQuery.tmpl){jQuery.getScript("https://raw.github.com/jquery/jquery-tmpl/master/jquery.tmpl.min.js",load)}else{load()}};$.fn.lifestream.feeds=$.fn.lifestream.feeds||{};$.fn.lifestream.feeds.blogger=function(config,callback){var parseBlogger=function(input){var output=[],list,i=0,j,item;if(input.query&&input.query.count&&input.query.count>0&&input.query.results.feed.entry){list=input.query.results.feed.entry;j=list.length;for(;i<j;i++){item=list[i];output.push({date:new Date(item.published),config:config,html:'posted "<a href="'+item.origLink+'">'+item.title+'</a>"'})}}return output};$.ajax({url:createYqlUrl('select * from xml where url="http://'+config.user+'.blogspot.com/feeds/posts/default"'),dataType:"jsonp",success:function(data){callback(parseBlogger(data))}})};$.fn.lifestream.feeds.dailymotion=function(config,callback){var parseDailymotion=function(input){var output=[],list,i=0,j,item;if(input.query&&input.query.count&&input.query.count>0&&input.query.results.rss.channel.item){list=input.query.results.rss.channel.item;j=list.length;for(;i<j;i++){item=list[i];output.push({date:new Date(item.pubDate),config:config,html:'uploaded a video <a href="'+item.link+'">'+item.title+"</a>"})}}return output};$.ajax({url:createYqlUrl('select * from xml where url="http://www.dailymotion.com/rss/user/'+config.user+'"'),dataType:"jsonp",success:function(data){callback(parseDailymotion(data))}})};$.fn.lifestream.feeds.delicious=function f(config,callback){config.template=$.extend({},f.template,config.template);$.ajax({url:"http://feeds.delicious.com/v2/json/"+config.user,dataType:"jsonp",success:function(data){var output=[],i=0,j;if(data&&data.length&&data.length>0){j=data.length;for(;i<j;i++){var item=data[i];output.push({date:new Date(item.dt),config:config,html:$.tmpl(config.template.bookmarkcreation,{url:item.u,title:item.d})})}}callback(output)}})};$.fn.lifestream.feeds.delicious.template={bookmarkcreation:'bookmarked <a href="${url}">${title}</a>'};$.fn.lifestream.feeds.deviantart=function f(config,callback){config.template=$.extend({},f.template,config.template);$.ajax({url:createYqlUrl('select title,link,pubDate from rss where url="http://backend.deviantart.com/rss.xml?q=gallery%3A'+encodeURIComponent(config.user)+'&type=deviation" | unique(field="title")'),dataType:"jsonp",success:function(resp){var output=[],items,item,i=0,j;if(resp.query&&resp.query.count>0){items=resp.query.results.item;j=items.length;for(;i<j;i++){item=items[i];output.push({date:new Date(item.pubDate),config:config,html:$.tmpl(config.template.deviationpost,{url:item.link,title:item.title})})}}callback(output)}})};$.fn.lifestream.feeds.deviantart.template={deviationpost:'posted <a href="${url}">${title}</a>'};$.fn.lifestream.feeds.dribbble=function(config,callback){var parseDribbbleItem=function(item){var output='posted a shot <a href="'+item.url+'">'+item.title+"</a>";return output};$.ajax({url:"http://api.dribbble.com/players/"+config.user+"/shots",dataType:"jsonp",success:function(data){var output=[],i=0,j;if(data&&data.total){j=data.shots.length;for(;i<j;i++){var item=data.shots[i];output.push({date:new Date(item.created_at),config:config,html:parseDribbbleItem(item)})}}callback(output)}})};$.fn.lifestream.feeds.flickr=function(config,callback){var parseFlickrItem=function(item){var output='posted a photo <a href="'+item.link+'">'+item.title+"</a>";return output};$.ajax({url:"http://api.flickr.com/services/feeds/photos_public.gne?id="+config.user+"&lang=en-us&format=json",dataType:"jsonp",jsonp:"jsoncallback",success:function(data){var output=[],i=0,j;if(data&&data.items&&data.items.length>0){j=data.items.length;for(;i<j;i++){var item=data.items[i];output.push({date:new Date(item.published),config:config,html:parseFlickrItem(item)})}}callback(output)}})};$.fn.lifestream.feeds.formspring=function(config,callback){var parseFormspring=function(input){var output=[],list,i=0,j,item;if(input.query&&input.query.count&&input.query.count>0&&input.query.results.rss.channel.item){list=input.query.results.rss.channel.item;j=list.length;for(;i<j;i++){item=list[i];output.push({date:new Date(item.pubDate),config:config,html:'answered a question <a href="'+item.link+'">'+item.title+"</a>"})}}return output};$.ajax({url:createYqlUrl('select * from xml where url="http://www.formspring.me/profile/'+config.user+'.rss"'),dataType:"jsonp",success:function(data){callback(parseFormspring(data))}})};$.fn.lifestream.feeds.forrst=function(config,callback){var parseForrstItem=function(item){return"Posted a "+item.post_type+' titled <a href="'+item.post_url+'">'+item.title+"</a>"};$.ajax({url:"http://forrst.com/api/v2/users/posts?username="+config.user,dataType:"jsonp",success:function(data){var output=[],i=0,j;if(data&&data.resp.length&&data.resp.length>0){j=data.resp.length;for(;i<j;i++){var item=data.resp[i];output.push({date:new Date(item.created_at),config:config,html:parseForrstItem(item)})}}callback(output)}})};$.fn.lifestream.feeds.foursquare=function(config,callback){var parseFoursquareStatus=function(item){var output='checked in @ <a href="'+item.link+'">'+item.title+"</a>";return output},parseFoursquare=function(input){var output=[],i=0,j;if(input.query&&input.query.count&&input.query.count>0){j=input.query.count;for(;i<j;i++){var status=input.query.results.item[i];output.push({date:new Date(status.pubDate),config:config,html:parseFoursquareStatus(status)})}}return output};$.ajax({url:createYqlUrl('select * from rss where url="https://feeds.foursquare.com/history/'+config.user+'.rss"'),dataType:"jsonp",success:function(data){callback(parseFoursquare(data))}})};$.fn.lifestream.feeds.github=function(config,callback){var returnRepo=function(status){return status.payload.repo||status.repository.owner+"/"+status.repository.name},parseGithubStatus=function(status){var output="",name,repo,title,type;if(status.type==="PushEvent"){title="";repo=returnRepo(status);if(status.payload&&status.payload.shas&&status.payload.shas.json&&status.payload.shas.json[2]){title=status.payload.shas.json[2]+" by "+status.payload.shas.json[3]}output+='<a href="'+status.url+'" title="'+title+'">pushed</a> to <a href="http://github.com/'+repo+'">'+repo+"</a>"}else{if(status.type==="GistEvent"){title=status.payload.desc||"";output+=status.payload.action+'d <a href="'+status.payload.url+'" title ="'+title+'">'+status.payload.name+"</a>"}else{if(status.type==="CommitCommentEvent"||status.type==="IssueCommentEvent"){repo=returnRepo(status);output+='<a href="'+status.url+'">commented</a> on <a href="http://github.com/'+repo+'">'+repo+"</a>"}else{if(status.type==="PullRequestEvent"){repo=status.payload.repo||status.repository.owner+"/"+status.repository.name;output+='<a href="'+status.url+'">'+status.payload.action+'</a> pull request on <a href="http://github.com/'+repo+'">'+repo+"</a>"}else{if(status.type==="CreateEvent"&&(status.payload.ref_type==="tag"||status.payload.ref_type==="branch"||status.payload.object==="tag")){repo=returnRepo(status);type=status.payload.ref_type||status.payload.object;name=status.payload.ref||status.payload.object_name;output+="created "+type+' <a href="'+status.url+'">'+name+'</a> for <a href="http://github.com/'+repo+'">'+repo+"</a>"}else{if(status.type==="CreateEvent"){name=(status.payload.object_name==="null")?status.payload.name:status.payload.object_name;output+="created "+status.payload.object+' <a href="'+status.url+'">'+name+"</a>"}else{if(status.type==="DeleteEvent"){output+="deleted "+status.payload.ref_type+' <a href="http://github.com/'+status.repository.owner+"/"+status.repository.name+'">'+status.payload.ref+"</a>"}}}}}}}return output},parseGithub=function(input){var output=[],i=0,j;if(input.query&&input.query.count&&input.query.count>0){j=input.query.count;for(;i<j;i++){var status=input.query.results.json[i].json;output.push({date:new Date(status.created_at),config:config,html:parseGithubStatus(status)})}}return output};$.ajax({url:createYqlUrl('select json.repository.owner,json.repository.name,json.payload,json.type,json.url, json.created_at from json where url="http://github.com/'+config.user+'.json"'),dataType:"jsonp",success:function(data){callback(parseGithub(data))}})};$.fn.lifestream.feeds.googlereader=function(config,callback){var parseReaderEntry=function(entry){return'starred post <a href="'+entry.link.href+'">'+entry.title.content+"</a>"},parseReader=function(input){var output=[],list,i=0,j;if(input.query&&input.query.count&&input.query.count>0){list=input.query.results.feed.entry;j=list.length;for(;i<j;i++){var entry=list[i];output.push({date:new Date(parseInt(entry["crawl-timestamp-msec"],10)),config:config,html:parseReaderEntry(entry)})}}return output};$.ajax({url:createYqlUrl('select * from xml where url="www.google.com/reader/public/atom/user%2F'+config.user+'%2Fstate%2Fcom.google%2Fstarred"'),dataType:"jsonp",success:function(data){callback(parseReader(data))}})};$.fn.lifestream.feeds.iusethis=function(config,callback){var parseIusethis=function(input){var output=[],list,i,j,k,l,m=0,n,item,title,actions,action,what,os,oss=["iPhone","OS X","Windows"];if(input.query&&input.query.count&&input.query.count>0&&input.query.results.rss){n=input.query.results.rss.length;actions=["started using","stopped using","stopped loving","Downloaded","commented on","updated entry for","started loving","registered"];l=actions.length;for(;m<n;m++){os=oss[m];list=input.query.results.rss[m].channel.item;i=0;j=list.length;for(;i<j;i++){item=list[i];title=item.title.replace(config.user+" ","");k=0;for(;k<l;k++){if(title.indexOf(actions[k])>-1){action=actions[k];break}}what=title.split(action);output.push({date:new Date(item.pubDate),config:config,html:action.toLowerCase()+' <a href="'+item.link+'">'+what[1]+"</a> ("+os+")"})}}}return output};$.ajax({url:createYqlUrl('select * from xml where url="http://iphone.iusethis.com/user/feed.rss/'+config.user+'" or url="http://osx.iusethis.com/user/feed.rss/'+config.user+'" or url="http://win.iusethis.com/user/feed.rss/'+config.user+'"'),dataType:"jsonp",success:function(data){callback(parseIusethis(data))}})};$.fn.lifestream.feeds.lastfm=function(config,callback){var parseLastfmEntry=function(entry){var output="";output+='loved <a href="'+entry.url+'">'+entry.name+'</a> by <a href="'+entry.artist.url+'">'+entry.artist.name+"</a>";return output},parseLastfm=function(input){var output=[],list,i=0,j;if(input.query&&input.query.count&&input.query.count>0&&input.query.results.lovedtracks&&input.query.results.lovedtracks.track){list=input.query.results.lovedtracks.track;j=list.length;for(;i<j;i++){var entry=list[i];output.push({date:new Date(parseInt((entry.date.uts*1000),10)),config:config,html:parseLastfmEntry(entry)})}}return output};$.ajax({url:createYqlUrl('select * from xml where url="http://ws.audioscrobbler.com/2.0/user/'+config.user+'/lovedtracks.xml"'),dataType:"jsonp",success:function(data){callback(parseLastfm(data))}})};$.fn.lifestream.feeds.picplz=function(config,callback){var parsePicplzItem=function(item){var imagename=item.caption||item.id;return'Uploaded <a href="'+item.pic_files["640r"].img_url+'">'+imagename+"</a>"};$.ajax({url:"http://picplz.com/api/v2/user.json?username="+config.user+"&include_pics=1",dataType:"jsonp",success:function(data){var output=[],i=0,j,images;images=data.value.users[0].pics;if(images&&images.length&&images.length>0){j=images.length;for(;i<j;i++){var item=images[i];output.push({date:new Date((item.date)*1000),config:config,html:parsePicplzItem(item)})}}callback(output)}})};$.fn.lifestream.feeds.pinboard=function(config,callback){var parsePinboard=function(input){var output=[],list,i=0,j,item;if(input.query&&input.query.count&&input.query.count>0){list=input.query.results.RDF.item;j=list.length;for(;i<j;i++){item=list[i];output.push({date:new Date(item.date),config:config,html:'added bookmark <a href="'+item.link+'">'+item.title+"</a>"})}}return output};$.ajax({url:createYqlUrl('select * from xml where url="http://feeds.pinboard.in/rss/u:'+config.user+'"'),dataType:"jsonp",success:function(data){callback(parsePinboard(data))}})};$.fn.lifestream.feeds.posterous=function(config,callback){var parsePosterous=function(input){var output=[],list,i=0,j,item;if(input.query&&input.query.count&&input.query.count>0&&input.query.results.rss.channel.item){list=input.query.results.rss.channel.item;j=list.length;for(;i<j;i++){item=list[i];output.push({date:new Date(item.pubDate),config:config,html:'posted "<a href="'+item.link+'">'+item.title+'</a>"'})}}return output};$.ajax({url:createYqlUrl('select * from xml where url="http://'+config.user+'.posterous.com/rss.xml"'),dataType:"jsonp",success:function(data){callback(parsePosterous(data))}})};$.fn.lifestream.feeds.reddit=function(config,callback){var parseRedditItem=function(item){var output="",thread_link="",subreddit_link="http://www.reddit.com/r/"+item.data.subreddit,score=item.data.ups-item.data.downs;score=(score>0)?"+"+score:score;if(item.kind==="t1"){thread_link="http://www.reddit.com/r/"+item.data.subreddit+"/comments/"+item.data.link_id.substring(3)+"/u/"+item.data.name.substring(3)+"?context=3";output+='<a href="'+thread_link+'">commented ('+score+")</a> "}else{if(item.kind==="t3"){output+='<a href="http://www.reddit.com'+item.data.permalink+'">created new thread ('+score+")</a> "}}output+=' in <a href="'+subreddit_link+'">/r/'+item.data.subreddit+"</a>";return output},convertDate=function(date){return new Date(date*1000)};$.ajax({url:"http://www.reddit.com/user/"+config.user+".json",dataType:"jsonp",jsonp:"jsonp",success:function(data){var output=[],i=0,j;if(data&&data.data&&data.data.children&&data.data.children.length>0){j=data.data.children.length;for(;i<j;i++){var item=data.data.children[i];output.push({date:convertDate(item.data.created),config:config,html:parseRedditItem(item)})}}callback(output)}})};$.fn.lifestream.feeds.slideshare=function(config,callback){var parseSlideshare=function(input){var output=[],list,i=0,j,item;if(input.query&&input.query.count&&input.query.count>0){list=input.query.results.rss.channel.item;j=list.length;for(;i<j;i++){item=list[i];output.push({date:new Date(item.pubDate),config:config,html:'uploaded a presentation <a href="'+item.link+'">'+item.title+"</a>"})}}return output};$.ajax({url:createYqlUrl('select * from xml where url="http://www.slideshare.net/rss/user/'+config.user+'"'),dataType:"jsonp",success:function(data){callback(parseSlideshare(data))}})};$.fn.lifestream.feeds.stackoverflow=function(config,callback){var parseStackoverflowItem=function(item){var output="",text="",title="",link="",stackoverflow_link="http://stackoverflow.com/users/"+config.user,question_link="http://stackoverflow.com/questions/";if(item.timeline_type==="badge"){text=item.timeline_type+" "+item.action+": "+item.description;title=item.detail;link=stackoverflow_link+"?tab=reputation"}else{if(item.timeline_type==="revision"||item.timeline_type==="comment"||item.timeline_type==="accepted"||item.timeline_type==="askoranswered"){text=item.post_type+" "+item.action;title=item.detail||item.description||"";link=question_link+item.post_id}}output+='<a href="'+link+'" title="'+title+'">'+text+"</a> - "+title;return output},convertDate=function(date){return new Date(date*1000)};$.ajax({url:"http://api.stackoverflow.com/1.1/users/"+config.user+"/timeline?jsonp",dataType:"jsonp",jsonp:"jsonp",success:function(data){var output=[],i=0,j;if(data&&data.total&&data.total>0&&data.user_timelines){j=data.user_timelines.length;for(;i<j;i++){var item=data.user_timelines[i];output.push({date:convertDate(item.creation_date),config:config,html:parseStackoverflowItem(item)})}}callback(output)}})};$.fn.lifestream.feeds.tumblr=function(config,callback){var getTitle=function(post){var title=post["regular-title"]||post["quote-text"]||post["conversation-title"]||post["photo-caption"]||post["video-caption"]||post["audio-caption"]||post["regular-body"]||post["link-text"]||post.type||"";return title.replace(/<.+?>/gi," ")},createTumblrOutput=function(config,post){return{date:new Date(post.date),config:config,html:"posted a "+post.type+' <a href="'+post.url+'">'+getTitle(post)+"</a>"}},parseTumblr=function(input){var output=[],i=0,j,post;if(input.query&&input.query.count&&input.query.count>0){if($.isArray(input.query.results.posts.post)){j=input.query.results.posts.post.length;for(;i<j;i++){post=input.query.results.posts.post[i];output.push(createTumblrOutput(config,post))}}else{if($.isPlainObject(input.query.results.posts.post)){output.push(createTumblrOutput(config,input.query.results.posts.post))}}}return output};$.ajax({url:createYqlUrl('select * from tumblr.posts where username="'+config.user+'"'),dataType:"jsonp",success:function(data){callback(parseTumblr(data))}})};$.fn.lifestream.feeds.twitter=function(config,callback){var linkify=function(tweet){var link=function(t){return t.replace(/[a-z]+:\/\/[a-z0-9-_]+\.[a-z0-9-_:~%&\?\/.=]+[^:\.,\)\s*$]/ig,function(m){return'<a href="'+m+'">'+((m.length>25)?m.substr(0,24)+"...":m)+"</a>"})},at=function(t){return t.replace(/(^|[^\w]+)\@([a-zA-Z0-9_]{1,15})/g,function(m,m1,m2){return m1+'<a href="http://twitter.com/'+m2+'">@'+m2+"</a>"})},hash=function(t){return t.replace(/(^|[^\w'"]+)\#([a-zA-Z0-9_]+)/g,function(m,m1,m2){return m1+'<a href="http://search.twitter.com/search?q=%23'+m2+'">#'+m2+"</a>"})};return hash(at(link(tweet)))},addTwitterLinks=function(tweet){return linkify(tweet).replace(/ #([A-Za-z0-9\/\.]*)/g,function(m){return' <a target="_new" href="http://twitter.com/search?q='+m.replace(" #","%23")+'">'+m+"</a>"}).replace(/@[\w]+/g,function(m){return'<a href="http://www.twitter.com/'+m.replace("@","")+'">'+m+"</a>"})},parseTwitter=function(input){var output=[],i=0,j;if(input.query&&input.query.count&&input.query.count>0){j=input.query.count;for(;i<j;i++){var status=input.query.results.statuses[i].status;output.push({date:new Date(status.created_at),config:config,html:addTwitterLinks(status.text)})}}return output};$.ajax({url:createYqlUrl('select status.id, status.created_at, status.text from twitter.user.timeline where screen_name="'+config.user+'"'),dataType:"jsonp",success:function(data){callback(parseTwitter(data))}})};$.fn.lifestream.feeds.vimeo=function(config,callback){var parseVimeoItem=function(item){return'published a video <a href="'+item.url+'" title="'+item.description.replace(/"/g,"'").replace(/<.+?>/gi,"")+'">'+item.title+"</a>"},parseVimeo=function(input){var output=[],i=0,j,item;if(input){j=input.length;for(;i<j;i++){item=input[i];output.push({date:new Date(item.upload_date),config:config,html:parseVimeoItem(item)})}}return output};$.ajax({url:"http://vimeo.com/api/v2/"+config.user+"/videos.json",dataType:"jsonp",crossDomain:true,success:function(data){callback(parseVimeo(data))}})};$.fn.lifestream.feeds.wordpress=function(config,callback){var parseWordpress=function(input){var output=[],list,i=0,j,item;if(input.query&&input.query.count&&input.query.count>0&&input.query.results.rss.channel.item){list=input.query.results.rss.channel.item;j=list.length;for(;i<j;i++){item=list[i];output.push({date:new Date(item.pubDate),config:config,html:'posted "<a href="'+item.link+'">'+item.title+'</a>"'})}}return output};$.ajax({url:createYqlUrl('select * from xml where url="http://'+config.user+'.wordpress.com/feed"'),dataType:"jsonp",success:function(data){callback(parseWordpress(data))}})};$.fn.lifestream.feeds.youtube=function(config,callback){var parseYoutubeItem=function(item){return' favorited <a href="'+item.video.player["default"]+'" title="'+item.video.description+'">'+item.video.title+"</a>"},parseYoutube=function(input){var output=[],i=0,j,item;if(input.data&&input.data.items){j=input.data.items.length;for(;i<j;i++){item=input.data.items[i];output.push({date:new Date(item.created),config:config,html:parseYoutubeItem(item)})}}return output};$.ajax({url:"http://gdata.youtube.com/feeds/api/users/"+config.user+"/favorites?v=2&alt=jsonc",dataType:"jsonp",success:function(data){callback(parseYoutube(data))}})}}(jQuery));

2 comments on commit 652c5ab

@mgiulio
Collaborator

Great additions, @NumEricR !

@NumEricR

Thank you Giulio.
I have other ideas of services to add :D

Please sign in to comment.