From 0afbfaee75e8480e8e0ed0a3bbd3749a4756f727 Mon Sep 17 00:00:00 2001
From: franck cuny <franck@lumberjaph.net>
Date: Fri, 10 Sep 2010 23:25:10 +0200
Subject: initial import

---
 _posts/2008-08-16-my-lifestream-page.textile | 58 ++++++++++++++++++++++++++++
 1 file changed, 58 insertions(+)
 create mode 100644 _posts/2008-08-16-my-lifestream-page.textile

(limited to '_posts/2008-08-16-my-lifestream-page.textile')

diff --git a/_posts/2008-08-16-my-lifestream-page.textile b/_posts/2008-08-16-my-lifestream-page.textile
new file mode 100644
index 0000000..51895bd
--- /dev/null
+++ b/_posts/2008-08-16-my-lifestream-page.textile
@@ -0,0 +1,58 @@
+---
+layout: post
+category: perl
+title: my lifestream page
+---
+
+For a while I've wanted to mash-up the different services I use on a single page. My first attempt was with <a href="http://plagger.org/trac">plagger</a>, and publishing all the information on my google calendar. That wasn't really interesting, as I don't need to archived all this stuff. After this one, I've tried to make a static page, using <a href="http://developer.yahoo.com/yui/">the yahoo! library interface</a> stuff. A page with tabs, each tabs for a service. The content was generated with Plagger and Template Toolkit. It was working fine, but I had to do some HTML, check why some some stuff were not working, etc. And as I'm not a designer, and as I'm incapable to think a good user interface, I was quickly fed up with this solution.
+
+I use <a href="http://pipes.yahoo.com/pipes/">yahoo! pipes</a> for mashing some feeds, and saw that you can get a result from your feed in JSON. I've started to think about a simple page with just some javascript, a simple css, and using the JSON result. So I've created a feed that combine the services that I use (<a title="pipe" href="http://pipes.yahoo.com/franckcuny/myfeeds " target="_blank">the pipe is here</a>), created <a href="http://franck.breizhdev.net/">a simple HTML page</a>, read some jquery documentation on how to read a JSON file, and created this page. The code is really simple. For the flickr stream, I use the code generated from the <a title="flickr badge generator" href="http://www.flickr.com/badge.gne">badge generator</a>. I've done some modifications, like removing the table, removing some classes, altering the css, ... The remaining code is
+
+
+{% highlight html %}
+<div id="flickr_badge_uber_wrapper">
+    <script src="http://www.flickr.com/badge_code_v2.gne?count=9&display=latest&size=s&layout=h&source=user&user=27734462%40N00" type="text/javascript"></script></div>
+{% endhighlight %}
+
+For displaying the result of the JSON feed, I've found some simple code, that I've modified a bit to feet my purpose.
+
+
+{% highlight javascript %}
+$(function(){
+   var CssToAdd = new Object();
+    $.getJSON('http://pipes.yahoo.com/pipes/pipe.run?_id=NMLU4MNq3RGDW_8fpwt1Yg&_render=json&_callback=?',
+   function(data){
+            $('div#loading-area').hide('fast');
+      $.each(data.value.items, function(i,item){
+          var a_class;
+
+          try {
+        if (item.link.match(/last/)) {
+            a_class = 'lastfm';
+        }else if (item.link.match(/pownce/)) {
+            a_class = 'lastfm';
+        }else if (item.link.match(/breizhdev/)) {
+            a_class = 'blog';
+        }else if (item.id.content.match(/google/)) {
+            a_class = 'greader';
+        }else{
+            a_class = 'delicious';
+        }
+        }catch(err){
+            a_class = 'delicious';
+        }
+
+         $('<a>').attr('href',item.link).text(item.title).addClass(a_class).appendTo('#sample-feed-block');
+      });
+    $('#sample-feed-block a').wrapAll('<ul>').wrap('<li>');
+    });
+});
+{% endhighlight %}
+
+As my javascript's skills are near 0, I've no doubt that there is some better way to do this. Feel free to send me a patch ;)
+
+The page is available <a href="http://franck.breizhdev.net/">here</a>.
+
+If you want to copy this page, and use your own pipe, don't forget to append "<strong>=json&amp;_callback=?</strong>" at the end of the url of the JSON version of the feed.
+
+The thing that I really like with this page, it's that everything fit in a single HTML file. The jquery.min.js is hosted on the <a title="jquery" href="http://jquery.com">jquery site</a>, the icons are favicons pulled directly from the sites, so anyone can juste copy this page, change the address of the pipe, modify the flickr call, play a bit with the embded CSS, and it's done.
-- 
cgit v1.2.3

