From 1883e25397f65af3bfbd439215733800f51a47cc Mon Sep 17 00:00:00 2001
From: philipp <philipp@philipp-laptop.(none)>
Date: Sun, 5 Dec 2010 18:54:34 +0100
Subject: [PATCH] twitter-jquery hinzugefuegt

---
 ExterneLibs/seaofclouds-tweet-ca47184.zip     | Bin 0 -> 9065 bytes
 .../seaofclouds-tweet-ca47184/.gitignore      |   1 +
 .../seaofclouds-tweet-ca47184/README.markdown |  80 ++++++++
 .../seaofclouds-tweet-ca47184/config.ru       |   2 +
 .../seaofclouds-tweet-ca47184/tweet/index.css |  50 +++++
 .../tweet/index.html                          | 168 +++++++++++++++++
 .../tweet/jquery.tweet.css                    |  25 +++
 .../tweet/jquery.tweet.js                     | 174 ++++++++++++++++++
 8 files changed, 500 insertions(+)
 create mode 100644 ExterneLibs/seaofclouds-tweet-ca47184.zip
 create mode 100644 ExterneLibs/seaofclouds-tweet-ca47184/.gitignore
 create mode 100644 ExterneLibs/seaofclouds-tweet-ca47184/README.markdown
 create mode 100644 ExterneLibs/seaofclouds-tweet-ca47184/config.ru
 create mode 100644 ExterneLibs/seaofclouds-tweet-ca47184/tweet/index.css
 create mode 100644 ExterneLibs/seaofclouds-tweet-ca47184/tweet/index.html
 create mode 100644 ExterneLibs/seaofclouds-tweet-ca47184/tweet/jquery.tweet.css
 create mode 100644 ExterneLibs/seaofclouds-tweet-ca47184/tweet/jquery.tweet.js

diff --git a/ExterneLibs/seaofclouds-tweet-ca47184.zip b/ExterneLibs/seaofclouds-tweet-ca47184.zip
new file mode 100644
index 0000000000000000000000000000000000000000..02723aa60f9e152f5277d8df4115765c59d213af
GIT binary patch
literal 9065
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
Ta<H*-n{)A)vzY+QOaT7_IKwZa

literal 0
HcmV?d00001

diff --git a/ExterneLibs/seaofclouds-tweet-ca47184/.gitignore b/ExterneLibs/seaofclouds-tweet-ca47184/.gitignore
new file mode 100644
index 0000000..5509140
--- /dev/null
+++ b/ExterneLibs/seaofclouds-tweet-ca47184/.gitignore
@@ -0,0 +1 @@
+*.DS_Store
diff --git a/ExterneLibs/seaofclouds-tweet-ca47184/README.markdown b/ExterneLibs/seaofclouds-tweet-ca47184/README.markdown
new file mode 100644
index 0000000..89c41dc
--- /dev/null
+++ b/ExterneLibs/seaofclouds-tweet-ca47184/README.markdown
@@ -0,0 +1,80 @@
+# Tweet!
+#### Put twitter on your website with tweet!, an unobtrusive javascript plugin for jquery.
+
+## Demo
+
+http://tweet.seaofclouds.com/ and http://seaofclouds.com/
+
+## Source
+
+http://github.com/seaofclouds/tweet/tarball/master
+
+## Features
+
+  * small size and fast download time
+  * will not slow down or pause your page while tweets are loading
+  * display up to 100 tweets, as permitted by the twitter search api
+  * display tweets from a twitter search, or from your own feed
+  * optional verb tense matching, for human readable tweets
+  * optionally display your avatar
+  * optionally display tweets from multiple accounts!
+  * automatic linking of @replies to users’ twitter page
+  * automatic linking of URLs
+  * automatic linking of #hashtags, to a twitter search of all your tags
+  * converts <3 to a css styleable ♥ (we ♥ hearts)
+  * customize the style with your own stylesheet or with other jquery plugins
+
+## Usage
+
+1. Get JQuery. In these examples, we use Google's AJAX Libraries API.
+http://code.google.com/apis/ajaxlibs/
+http://jquery.com/
+  
+2. include jQuery and jquery.tweet.js files in your template's <head>.
+	
+	<script language="javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.1/jquery.min.js" type="text/javascript"></script>
+	<script language="javascript" src="/tweet/jquery.tweet.js" type="text/javascript"></script>
+  
+3. Also in <head>, Initialize tweet! on page load with your Username and other options
+	
+	<script type='text/javascript'>
+		$(document).ready(function(){
+            $(".tweet").tweet({
+                join_text: "auto",
+                avatar_size: 32,
+                count: 3,
+                auto_join_text_default: "we said,",
+                auto_join_text_ed: "we",
+                auto_join_text_ing: "we were",
+                auto_join_text_reply: "we replied to",
+                auto_join_text_url: "we were checking out",
+                loading_text: "loading tweets..."
+            });
+        });
+    </script>
+    
+4. In <body>, include a placeholder for your tweets. They'll get loaded in via JSON. How fancy!
+	
+	<div class="tweet"></div>
+  
+5. Style with our stylesheet in <head>, or modify as you like!
+
+	<link href="jquery.tweet.css" media="all" rel="stylesheet" type="text/css"/>
+
+
+### Contribute
+
+Bring your code slinging skills to Github and help us develop new features for tweet!
+  
+http://github.com/seaofclouds/tweet/
+
+	git clone git://github.com/seaofclouds/tweet.git
+
+Report bugs at http://seaofclouds.lighthouseapp.com/projects/14179-tweet/overview
+
+### Licensed under the MIT
+
+http://www.opensource.org/licenses/mit-license.php
+
+If you like Tweet, check out Twoot!
+Twoot is a miniature Twitter client based on Tweet that allows you to post tweets and see what your friends are up to. Thanks, Peter Krantz!
\ No newline at end of file
diff --git a/ExterneLibs/seaofclouds-tweet-ca47184/config.ru b/ExterneLibs/seaofclouds-tweet-ca47184/config.ru
new file mode 100644
index 0000000..ab2d7fc
--- /dev/null
+++ b/ExterneLibs/seaofclouds-tweet-ca47184/config.ru
@@ -0,0 +1,2 @@
+use Rack::Static, :urls => ['/index.css', '/jquery.tweet.css', '/jquery.tweet.js'], :root => "tweet"
+run lambda { |env| [200, { 'Content-Type' => 'text/html', 'Cache-Control' => 'public, max-age=86400' }, File.open('tweet/index.html', File::RDONLY)] }
\ No newline at end of file
diff --git a/ExterneLibs/seaofclouds-tweet-ca47184/tweet/index.css b/ExterneLibs/seaofclouds-tweet-ca47184/tweet/index.css
new file mode 100644
index 0000000..76e31c5
--- /dev/null
+++ b/ExterneLibs/seaofclouds-tweet-ca47184/tweet/index.css
@@ -0,0 +1,50 @@
+body {
+  background-color: #008D99;
+  color: white;
+  font: 15px/1.3 arial, sans-serif;
+  margin: 0 auto;
+  width: 480px;
+  padding: 30px;
+  text-align: left; }
+  
+h1 {
+  font-size: 240%;
+  margin-bottom: -.5em; }
+h2, p, ul, code {
+  margin-bottom: 1em; }
+h2 a {
+  color: #fff; }
+h3 {
+  font-size: 140%;
+  margin-bottom: .4em; }
+ul {
+  padding-left: 2em; }
+  ul li {
+    list-style-type: square; 
+    margin-left: 0;}
+a {
+  color: #8ADEE2; }
+code {
+  margin-left: 1em;
+  padding: .5em;
+  display: block;
+}
+code, .code {
+  background-color: #0C717A;
+  color: #fff;
+  font-size: 85%;
+  font-family: courier, monospace; }
+  code a, .code a {
+    color: #fff; }
+.copyright {
+  font-family: verdana, sans-serif;
+  font-size: 75%;
+  margin-top: 8em; }
+  .copyright span {
+    color: #8ADEE2; }
+.download h4 {
+  font-size: 120%;
+  margin-top: -.5em;
+  color: #8ADEE2; }
+.twoot {
+  padding-top: 3em; }
diff --git a/ExterneLibs/seaofclouds-tweet-ca47184/tweet/index.html b/ExterneLibs/seaofclouds-tweet-ca47184/tweet/index.html
new file mode 100644
index 0000000..1555161
--- /dev/null
+++ b/ExterneLibs/seaofclouds-tweet-ca47184/tweet/index.html
@@ -0,0 +1,168 @@
+<!DOCTYPE html>
+<html>
+<head>
+	<meta charset="UTF-8" />
+  <title>Tweet! Put Twitter on your site with this simple, unobtrusive jQuery widget</title>
+  <link href="index.css" rel="stylesheet"/>
+  <link href="jquery.tweet.css" rel="stylesheet">
+  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
+  <script src="jquery.tweet.js" charset="utf-8"></script>
+  <script>
+    jQuery(document).ready(function($) {
+      $(".tweet").tweet({
+        join_text: "auto",
+        username: "seaofclouds",
+        avatar_size: 48,
+        count: 3,
+        auto_join_text_default: "we said,", 
+        auto_join_text_ed: "we",
+        auto_join_text_ing: "we were",
+        auto_join_text_reply: "we replied",
+        auto_join_text_url: "we were checking out",
+        loading_text: "loading tweets..."
+      });
+      $("#query").tweet({
+        avatar_size: 32,
+        count: 4,
+        query: "tweet.seaofclouds.com",
+        loading_text: "searching twitter..."
+      });
+      $("#userandquery").tweet({
+        count: 3,
+        query: "from:seaofclouds http",
+        loading_text: "searching twitter..."
+      });
+      $("#fromtwo").tweet({
+        avatar_size: 32,
+        count: 4,
+        username: ["seaofclouds", "laughingsquid"],
+        loading_text: "searching twitter...",
+        refresh_interval: 10
+      });
+      $("#list").tweet({
+        avatar_size: 32,
+        count: 4,
+        username: "twitter",
+        list: "team",
+        loading_text: "loading list..."
+      });
+      $("#empty").tweet({
+        avatar_size: 32,
+        count: 4,
+        query: "cieR8oog",
+        loading_text: "searching twitter..."
+      }).bind("empty", function() { $(this).append("No matching tweets found"); });
+    })
+  </script>
+</head>
+<body>
+  <h1>Tweet!</h1>
+  <h2>put <a href="http://twitter.com">twitter</a> on your website with <em>tweet!</em>, an unobtrusive javascript plugin for jquery.</h2>
+  
+  <h3>Demo</h3>
+  <p>displaying three tweets from the <a href="http://twitter.com/seaofclouds">seaofclouds twitter feed</a>. check the script in action at <a href="http://seaofclouds.com">seaofclouds.com</a></p>
+  <div class='tweet'></div>
+  
+  <p>displaying four tweets from the query "<a href="http://search.twitter.com/search?q=tweet.seaofclouds.com">tweet.seaofclouds.com</a>".</p>
+  <div id="query" class='query'></div>
+  
+  <p>displaying up to three links with the search query "<a href="http://search.twitter.com/search?q=from%3Aseaofclouds%20http">from:seaofclouds http</a>".</p>
+  <div id='userandquery' class="query"></div>
+  
+  <p>displaying four tweets from the two users "seaofclouds" and "laughingsquid", refreshing every 10 seconds.</p>
+  <div id='fromtwo' class="query"></div>
+  
+  <p>displaying tweets from users on the 'team' list of 'twitter'.</p>
+  <div id='list' class="query"></div>
+  
+  <p>adding a message when no tweets matching 'cieR8oog' are found.</p>
+  <div id='empty' class="query"></div>
+  
+  <h3>Features</h3>
+  <ul>
+    <li>small size and fast download time</li>
+    <li>will not slow down or pause your page while tweets are loading</li>
+    <li>display up to 100 tweets, as permitted by the twitter search api</li>
+    <li>display tweets from a twitter search, or from your own feed</li>
+    <li>optional verb tense matching, for human readable tweets</li>
+    <li>optionally display your avatar</li>
+    <li>optionally display tweets from multiple accounts!</li>
+    <li>optional reloading after a specified delay</li>
+    <li>automatic linking of  @replies to users&#8217; twitter page</li>
+    <li>automatic linking of URLs</li>
+    <li>uses <a href="http://apiwiki.twitter.com/Twitter-Search-API-Method%3A-search">Twitter's Search API</a>, so you can display any tweets you like</li>
+    <li>Display up to 100 tweets that have been posted within 7 days (limit set by <a href="http://apiwiki.twitter.com/Twitter-Search-API-Method%3A-search">Twitter's Search API</a>)</li>
+    <li>automatic linking of <a href="http://search.twitter.com/search?q=&amp;tag=hashtags">#hashtags</a>, to a twitter search of all your tags</li>
+    <li>converts &lt;3 to a css styleable <span class='heart'>♥</span> (we ♥ hearts)</li>
+    <li>makes awesome text, AWESOME text with AWESOMEIZER</li>
+    <li>customize the style with your own stylesheet or with other jquery plugins</li>
+    <li>compatible with most jquery versions, including jquery 1.2.6, 1.3.x, and the latest 1.4</li>
+  </ul>
+  
+  <p><strong>NOTE:</strong> Some users have reported that they <a href="http://help.twitter.com/forums/10713/entries/42646">do not show up in Twitter's search results</a>.</p>
+  
+  <div class='download'>
+    <h3>Download</h3>
+    <p>
+      <a href="http://github.com/seaofclouds/tweet/zipball/master">
+        <img width="90" src="http://github.com/images/modules/download/zip.png"></a>
+      <a href="http://github.com/seaofclouds/tweet/tarball/master">
+        <img width="90" src="http://github.com/images/modules/download/tar.png"></a>
+    </p>
+  </div>
+  
+  <h3>Usage</h3>
+  <p><strong>1.</strong> <a href="http://jquery.com/">Get JQuery</a>. In these examples, we use <a href="http://code.google.com/apis/ajaxlibs/">Google's AJAX Libraries API</a>.
+  <p><strong>2.</strong> include jQuery and jquery.tweet.js files in your template's <span class="code">&lt;head&gt;</span>.</p>
+  <code>
+    &lt;script language=&quot;javascript&quot; src=&quot;http://ajax.googleapis.com/ajax/libs/jquery/1.3.1/jquery.min.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;<br />
+    &lt;script language=&quot;javascript&quot; src=&quot;/tweet/jquery.tweet.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
+  </code>
+  <p><strong>3.</strong> Also in <span class="code">&lt;head&gt;</span>, Initialize tweet! on page load with your Username and other options</p>
+  <code>
+    &lt;script type=&apos;text/javascript&apos;&gt;<br />
+    &nbsp; &nbsp; $(document).ready(function(){<br />
+    &nbsp; &nbsp; &nbsp; &nbsp; $(".tweet").tweet({<br />
+    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; username: "seaofclouds",<br />
+    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; join_text: "auto",<br />
+    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; avatar_size: 32,<br />
+    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; count: 3,<br />
+    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; auto_join_text_default: "we said,", <br />
+    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; auto_join_text_ed: "we",<br />
+    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; auto_join_text_ing: "we were",<br />
+    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; auto_join_text_reply: "we replied to",<br />
+    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; auto_join_text_url: "we were checking out",<br />
+    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; loading_text: "loading tweets..."<br />
+    &nbsp; &nbsp; &nbsp; &nbsp; });<br />
+    &nbsp; &nbsp; });<br />
+    &lt;/script&gt;
+  </code>
+  <p><strong>4.</strong> In <span class="code">&lt;body&gt;</span>, include a placeholder for your tweets. They'll get loaded in via JSON. How fancy!</p>
+  <code>
+    &lt;div class=&quot;tweet&quot;&gt;&lt;/div&gt;
+  </code>
+  <p><strong>5.</strong> Style with our stylesheet in <span class="code">&lt;head&gt;</span>, or modify as you like!</p>
+  <code>
+    &lt;link href=&quot;jquery.tweet.css&quot; media=&quot;all&quot; rel=&quot;stylesheet&quot; type=&quot;text/css&quot;/&gt;
+  </code>
+  
+  <h3>Contribute</h3>
+  <p>Bring your code slinging skills to <a href="http://github.com/seaofclouds/tweet/">Github</a> and help us develop new features for tweet!</p>
+  <code>
+    git clone git://github.com/seaofclouds/tweet.git
+  </code>
+  <a href="http://github.com/seaofclouds/tweet"><img style="position: absolute; top: 0; right: 0; border: 0;" src="http://s3.amazonaws.com/github/ribbons/forkme_right_white_ffffff.png" alt="Fork me on GitHub" /></a>
+  <p>
+    <strong>Report bugs and request features</strong> in <a href="http://github.com/seaofclouds/tweet/issues">Github Issues</a>
+  </p>
+  <h3>Licensed under the MIT</h3>
+  <code>
+    <a href="http://www.opensource.org/licenses/mit-license.php">http://www.opensource.org/licenses/mit-license.php</a>
+  </code>
+  <div class='twoot'>
+    <h3>If you like Tweet, check out <a href="http://github.com/peterk/twoot/tree/master">Twoot</a>!</h3>
+    <p><a href="http://github.com/peterk/twoot/tree/master">Twoot</a> is a miniature Twitter client based on Tweet that allows you to post tweets and see what your friends are up to. Thanks, <a href="http://www.peterkrantz.com">Peter Krantz</a>!</p>
+  </div>
+  <p class='copyright'>something nifty from <a href="http://seaofclouds.com">seaofclouds</a><span class="trade">&trade;</span> | <a href="http://github.com/seaofclouds/tweet/">contribute</a></p>
+</body>
+</html>
diff --git a/ExterneLibs/seaofclouds-tweet-ca47184/tweet/jquery.tweet.css b/ExterneLibs/seaofclouds-tweet-ca47184/tweet/jquery.tweet.css
new file mode 100644
index 0000000..7686513
--- /dev/null
+++ b/ExterneLibs/seaofclouds-tweet-ca47184/tweet/jquery.tweet.css
@@ -0,0 +1,25 @@
+.tweet, .query {
+  font-family: Georgia, serif;
+  font-size: 120%;
+  color: #085258; }
+  .tweet .tweet_list, .query .tweet_list {
+    -webkit-border-radius: .5em;
+    list-style-type: none;
+    margin: 0;
+    padding: 0;
+    background-color: #8ADEE2; }
+    .tweet .tweet_list .awesome, .tweet .tweet_list .epic, .query .tweet_list .awesome, .query .tweet_list .epic {
+      text-transform: uppercase; }
+    .tweet .tweet_list li, .query .tweet_list li {
+      overflow-y: auto;
+      overflow-x: hidden;
+      padding: .5em; }
+      .tweet .tweet_list li a, .query .tweet_list li a {
+        color: #0C717A; }
+    .tweet .tweet_list .tweet_even, .query .tweet_list .tweet_even {
+      background-color: #91E5E7; }
+    .tweet .tweet_list .tweet_avatar, .query .tweet_list .tweet_avatar {
+      padding-right: .5em;
+      float: left; }
+      .tweet .tweet_list .tweet_avatar img, .query .tweet_list .tweet_avatar img {
+        vertical-align: middle; }
diff --git a/ExterneLibs/seaofclouds-tweet-ca47184/tweet/jquery.tweet.js b/ExterneLibs/seaofclouds-tweet-ca47184/tweet/jquery.tweet.js
new file mode 100644
index 0000000..f125847
--- /dev/null
+++ b/ExterneLibs/seaofclouds-tweet-ca47184/tweet/jquery.tweet.js
@@ -0,0 +1,174 @@
+(function($) {
+ 
+  $.fn.tweet = function(o){
+    var s = {
+      username: ["seaofclouds"],              // [string]   required, unless you want to display our tweets. :) it can be an array, just do ["username1","username2","etc"]
+      list: null,                              //[string]   optional name of list belonging to username
+      avatar_size: null,                      // [integer]  height and width of avatar if displayed (48px max)
+      count: 3,                               // [integer]  how many tweets to display?
+      intro_text: null,                       // [string]   do you want text BEFORE your your tweets?
+      outro_text: null,                       // [string]   do you want text AFTER your tweets?
+      join_text:  null,                       // [string]   optional text in between date and tweet, try setting to "auto"
+      auto_join_text_default: "i said,",      // [string]   auto text for non verb: "i said" bullocks
+      auto_join_text_ed: "i",                 // [string]   auto text for past tense: "i" surfed
+      auto_join_text_ing: "i am",             // [string]   auto tense for present tense: "i was" surfing
+      auto_join_text_reply: "i replied to",   // [string]   auto tense for replies: "i replied to" @someone "with"
+      auto_join_text_url: "i was looking at", // [string]   auto tense for urls: "i was looking at" http:...
+      loading_text: null,                     // [string]   optional loading text, displayed while tweets load
+      query: null,                            // [string]   optional search query
+      refresh_interval: null                  // [integer]  optional number of seconds after which to reload tweets
+    };
+    
+    if(o) $.extend(s, o);
+    
+    $.fn.extend({
+      linkUrl: function() {
+        var returning = [];
+        var regexp = /((ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?)/gi;
+        this.each(function() {
+          returning.push(this.replace(regexp,"<a href=\"$1\">$1</a>"));
+        });
+        return $(returning);
+      },
+      linkUser: function() {
+        var returning = [];
+        var regexp = /[\@]+([A-Za-z0-9-_]+)/gi;
+        this.each(function() {
+          returning.push(this.replace(regexp,"<a href=\"http://twitter.com/$1\">@$1</a>"));
+        });
+        return $(returning);
+      },
+      linkHash: function() {
+        var returning = [];
+        var regexp = /(?:^| )[\#]+([A-Za-z0-9-_]+)/gi;
+        this.each(function() {
+          returning.push(this.replace(regexp, ' <a href="http://search.twitter.com/search?q=&tag=$1&lang=all&from='+s.username.join("%2BOR%2B")+'">#$1</a>'));
+        });
+        return $(returning);
+      },
+      capAwesome: function() {
+        var returning = [];
+        this.each(function() {
+          returning.push(this.replace(/\b(awesome)\b/gi, '<span class="awesome">$1</span>'));
+        });
+        return $(returning);
+      },
+      capEpic: function() {
+        var returning = [];
+        this.each(function() {
+          returning.push(this.replace(/\b(epic)\b/gi, '<span class="epic">$1</span>'));
+        });
+        return $(returning);
+      },
+      makeHeart: function() {
+        var returning = [];
+        this.each(function() {
+          returning.push(this.replace(/(&lt;)+[3]/gi, "<tt class='heart'>&#x2665;</tt>"));
+        });
+        return $(returning);
+      }
+    });
+
+    function parse_date(date_str) {
+      // The non-search twitter APIs return inconsistently-formatted dates, which Date.parse
+      // cannot handle in IE. We therefore perform the following transformation:
+      // "Wed Apr 29 08:53:31 +0000 2009" => "Wed, Apr 29 2009 08:53:31 +0000"
+      return Date.parse(date_str.replace(/^([a-z]{3})( [a-z]{3} \d\d?)(.*)( \d{4})$/i, '$1,$2$4$3'));
+    }
+
+    function relative_time(time_value) {
+      var parsed_date = parse_date(time_value);
+      var relative_to = (arguments.length > 1) ? arguments[1] : new Date();
+      var delta = parseInt((relative_to.getTime() - parsed_date) / 1000);
+      var r = '';
+      if (delta < 60) {
+	r = delta + ' seconds ago';
+      } else if(delta < 120) {
+	r = 'a minute ago';
+      } else if(delta < (45*60)) {
+	r = (parseInt(delta / 60, 10)).toString() + ' minutes ago';
+      } else if(delta < (2*60*60)) {
+	r = 'an hour ago';
+      } else if(delta < (24*60*60)) {
+	r = '' + (parseInt(delta / 3600, 10)).toString() + ' hours ago';
+      } else if(delta < (48*60*60)) {
+	r = 'a day ago';
+      } else {
+	r = (parseInt(delta / 86400, 10)).toString() + ' days ago';
+      }
+      return 'about ' + r;
+    }
+
+    function build_url() {
+      var proto = ('https:' == document.location.protocol ? 'https:' : 'http:');
+      if (s.list) {
+        return proto+"//api.twitter.com/1/"+s.username[0]+"/lists/"+s.list+"/statuses.json?per_page="+s.count+"&callback=?";
+      } else if (s.query == null && s.username.length == 1) {
+        return proto+'//api.twitter.com/1/statuses/user_timeline.json?screen_name='+s.username[0]+'&count='+s.count+'&include_rts=1&callback=?';
+      } else {
+        var query = (s.query || 'from:'+s.username.join(' OR from:'));
+        return proto+'//search.twitter.com/search.json?&q='+encodeURIComponent(query)+'&rpp='+s.count+'&callback=?';
+      }
+    }
+
+    return this.each(function(i, widget){
+      var list = $('<ul class="tweet_list">').appendTo(widget);
+      var intro = '<p class="tweet_intro">'+s.intro_text+'</p>';
+      var outro = '<p class="tweet_outro">'+s.outro_text+'</p>';
+      var loading = $('<p class="loading">'+s.loading_text+'</p>');
+
+      if(typeof(s.username) == "string"){
+        s.username = [s.username];
+      }
+
+      if (s.loading_text) $(widget).append(loading);
+      $(widget).bind("load", function(){
+        $.getJSON(build_url(), function(data){
+          if (s.loading_text) loading.remove();
+          if (s.intro_text) list.before(intro);
+          list.empty();
+          var tweets = (data.results || data);
+          $.each(tweets, function(i,item){
+            // auto join text based on verb tense and content
+            if (s.join_text == "auto") {
+              if (item.text.match(/^(@([A-Za-z0-9-_]+)) .*/i)) {
+                var join_text = s.auto_join_text_reply;
+              } else if (item.text.match(/(^\w+:\/\/[A-Za-z0-9-_]+\.[A-Za-z0-9-_:%&\?\/.=]+) .*/i)) {
+                var join_text = s.auto_join_text_url;
+              } else if (item.text.match(/^((\w+ed)|just) .*/im)) {
+                var join_text = s.auto_join_text_ed;
+              } else if (item.text.match(/^(\w*ing) .*/i)) {
+                var join_text = s.auto_join_text_ing;
+              } else {
+                var join_text = s.auto_join_text_default;
+              }
+            } else {
+              var join_text = s.join_text;
+            };
+   
+            var from_user = item.from_user || item.user.screen_name;
+            var profile_image_url = item.profile_image_url || item.user.profile_image_url;
+            var join_template = '<span class="tweet_join"> '+join_text+' </span>';
+            var join = ((s.join_text) ? join_template : ' ');
+            var avatar_template = '<a class="tweet_avatar" href="http://twitter.com/'+from_user+'"><img src="'+profile_image_url+'" height="'+s.avatar_size+'" width="'+s.avatar_size+'" alt="'+from_user+'\'s avatar" title="'+from_user+'\'s avatar" border="0"/></a>';
+            var avatar = (s.avatar_size ? avatar_template : '');
+            var date = '<span class="tweet_time"><a href="http://twitter.com/'+from_user+'/statuses/'+item.id_str+'" title="view tweet on twitter">'+relative_time(item.created_at)+'</a></span>';
+            var text = '<span class="tweet_text">' +$([item.text]).linkUrl().linkUser().linkHash().makeHeart().capAwesome().capEpic()[0]+ '</span>';
+   
+            // until we create a template option, arrange the items below to alter a tweet's display.
+            list.append('<li>' + avatar + date + join + text + '</li>');
+   
+            list.children('li:first').addClass('tweet_first');
+            list.children('li:odd').addClass('tweet_even');
+            list.children('li:even').addClass('tweet_odd');
+          });
+          if (s.outro_text) list.after(outro);
+          $(widget).trigger("loaded").trigger((tweets.length == 0 ? "empty" : "full"));
+          if (s.refresh_interval) {
+            window.setTimeout(function() { $(widget).trigger("load"); }, 1000 * s.refresh_interval);
+          };
+        });
+      }).trigger("load");
+    });
+  };
+})(jQuery);
-- 
GitLab