updated to latest octopress

This commit is contained in:
Brandon Mathis 2011-09-26 08:35:06 -05:00
parent 2afb62b297
commit 9af74d3a47
3 changed files with 66 additions and 61 deletions

View File

@ -1,7 +1,8 @@
{% if site.delicious_user %} {% if site.delicious_user %}
<section> <section>
<h1>On Delicious</h1> <h1>On Delicious</h1>
<script type="text/javascript" src="http://feeds.delicious.com/v2/js/{{ site.delicious_user }}?title=&amp;count={{ site.delicious_count }}&amp;sort=date&amp;extended"></script> <div id="delicious"></div>
<script type="text/javascript" src="http://feeds.delicious.com/v1/json/{{ site.delicious_user }}?count={{ site.delicious_count }}&amp;sort=date&amp;callback=renderDeliciousLinks"></script>
<p><a href="http://delicious.com/{{ site.delicious_user }}">My Delicious Bookmarks &raquo;</a></p> <p><a href="http://delicious.com/{{ site.delicious_user }}">My Delicious Bookmarks &raquo;</a></p>
</section> </section>
{% endif %} {% endif %}

View File

@ -104,6 +104,15 @@ function wrapFlashVideos() {
}); });
} }
function renderDeliciousLinks(items) {
var output = "<ul>";
for (var i=0,l=items.length; i<l; i++) {
output += '<li><a href="' + items[i].u + '" title="Tags: ' + items[i].t.join(', ') + '">' + items[i].d + '</a></li>';
}
output += "</ul>";
$('#delicious').html(output);
}
$.domReady(function() { $.domReady(function() {
testFeatures(); testFeatures();
wrapFlashVideos(); wrapFlashVideos();

View File

@ -1,43 +1,5 @@
// JSON-P Twitter fetcher for Octopress // JSON-P Twitter fetcher for Octopress
// (c) Brandon Mathis // MIT Lisence // (c) Brandon Mathis // MIT Lisence
function getTwitterFeed(user, count, replies) {
var feed = new jXHR();
feed.onerror = function (msg,url) {
$('#tweets li.loading').addClass('error').text("Twitter's busted");
}
feed.onreadystatechange = function(data){
if (feed.readyState === 4) {
var tweets = new Array();
var i = 0;
for (i in data){
if(tweets.length < count){
if(replies || data[i].in_reply_to_user_id == null){
tweets.push(data[i]);
}
}
}
showTwitterFeed(tweets, user);
}
};
feed.open("GET","http://twitter.com/statuses/user_timeline/"+user+".json?trim_user=true&count="+(parseInt(count)+60)+"&callback=?");
feed.send();
}
function showTwitterFeed(tweets, twitter_user){
var timeline = document.getElementById('tweets');
timeline.innerHTML='';
for (t in tweets){
timeline.innerHTML+='<li>'+'<p>'+'<a href="http://twitter.com/'+twitter_user+'/status/'+tweets[t].id_str+'">'+prettyDate(tweets[t].created_at)+'</a>'+linkifyTweet(tweets[t].text.replace(/\n/g, '<br>'))+'</p>'+'</li>';
}
}
function linkifyTweet(text){
return text.replace(/(https?:\/\/)([\w\-:;?&=+.%#\/]+)/gi, '<a href="$1$2">$2</a>')
.replace(/(^|\W)@(\w+)/g, '$1<a href="http://twitter.com/$2">@$2</a>')
.replace(/(^|\W)#(\w+)/g, '$1<a href="http://search.twitter.com/search?q=%23$2">#$2</a>');
}
// jXHR.js (JSON-P XHR) | v0.1 (c) Kyle Simpson | MIT License | http://mulletxhr.com/ // jXHR.js (JSON-P XHR) | v0.1 (c) Kyle Simpson | MIT License | http://mulletxhr.com/
// uncompressed version available in source/javascripts/libs/jXHR.js // uncompressed version available in source/javascripts/libs/jXHR.js
@ -45,38 +7,71 @@ function linkifyTweet(text){
/* Sky Slavin, Ludopoli. MIT license. * based on JavaScript Pretty Date * Copyright (c) 2008 John Resig (jquery.com) * Licensed under the MIT license. */ /* Sky Slavin, Ludopoli. MIT license. * based on JavaScript Pretty Date * Copyright (c) 2008 John Resig (jquery.com) * Licensed under the MIT license. */
function prettyDate(time) { function prettyDate(time) {
if (navigator.appName == 'Microsoft Internet Explorer') { if (navigator.appName === 'Microsoft Internet Explorer') {
return "<span>&infin;</span>"; // because IE date parsing isn't fun. return "<span>&infin;</span>"; // because IE date parsing isn't fun.
}
var say = {
just_now: " now",
minute_ago: "1m",
minutes_ago: "m",
hour_ago: "1h",
hours_ago: "h",
yesterday: "1d",
days_ago: "d",
weeks_ago: "w"
}; };
var say = {}; var current_date = new Date(),
say.just_now = " now", current_date_time = current_date.getTime(),
say.minute_ago = "1m", current_date_full = current_date_time + (1 * 60000),
say.minutes_ago = "m", date = new Date(time),
say.hour_ago = "1h", diff = ((current_date_full - date.getTime()) / 1000),
say.hours_ago = "h", day_diff = Math.floor(diff / 86400);
say.yesterday = "1d",
say.days_ago = "d",
say.weeks_ago = "w"
var current_date = new Date(); if (isNaN(day_diff) || day_diff < 0) { return "<span>&infin;</span>"; }
current_date_time = current_date.getTime();
current_date_full = current_date_time + (1 * 60000);
var date = new Date(time);
var diff = ((current_date_full - date.getTime()) / 1000);
var day_diff = Math.floor(diff / 86400);
if (isNaN(day_diff) || day_diff < 0) return "<span>&infin;</span>"; return day_diff === 0 && (
return day_diff == 0 && (
diff < 60 && say.just_now || diff < 60 && say.just_now ||
diff < 120 && say.minute_ago || diff < 120 && say.minute_ago ||
diff < 3600 && Math.floor(diff / 60) + say.minutes_ago || diff < 3600 && Math.floor(diff / 60) + say.minutes_ago ||
diff < 7200 && say.hour_ago || diff < 7200 && say.hour_ago ||
diff < 86400 && Math.floor(diff / 3600) + say.hours_ago) || diff < 86400 && Math.floor(diff / 3600) + say.hours_ago) ||
day_diff == 1 && say.yesterday || day_diff === 1 && say.yesterday ||
day_diff < 7 && day_diff + say.days_ago || day_diff < 7 && day_diff + say.days_ago ||
day_diff > 7 && Math.ceil(day_diff / 7) + say.weeks_ago; day_diff > 7 && Math.ceil(day_diff / 7) + say.weeks_ago;
} }
function linkifyTweet(text, url) {
for (var u in url) {
var shortUrl = new RegExp(url[u].url, 'g');
text = text.replace(shortUrl, '<a href="' + url[u].expanded_url + '">' + url[u].expanded_url.replace(/https?:\/\//, '') + '</a>');
}
return text.replace(/(^|\W)@(\w+)/g, '$1<a href="http://twitter.com/$2">@$2</a>')
.replace(/(^|\W)#(\w+)/g, '$1<a href="http://search.twitter.com/search?q=%23$2">#$2</a>');
}
function showTwitterFeed(tweets, twitter_user) {
var timeline = document.getElementById('tweets'),
content = '';
for (var t in tweets) {
content += '<li>'+'<p>'+'<a href="http://twitter.com/'+twitter_user+'/status/'+tweets[t].id_str+'">'+prettyDate(tweets[t].created_at)+'</a>'+linkifyTweet(tweets[t].text.replace(/\n/g, '<br>'), tweets[t].entities.urls)+'</p>'+'</li>';
}
timeline.innerHTML = content;
}
function getTwitterFeed(user, count, replies) {
var feed = new jXHR();
feed.onerror = function (msg,url) {
$('#tweets li.loading').addClass('error').text("Twitter's busted");
};
feed.onreadystatechange = function(data){
if (feed.readyState === 4) { showTwitterFeed(data, user); }
};
// Documentation: https://dev.twitter.com/docs/api/1/get/statuses/user_timeline
feed.open("GET","http://api.twitter.com/1/statuses/user_timeline/" + user + ".json?trim_user=true&count=" + (parseInt(count, 10)) + "&include_entities=1&exclude_replies=" + (replies ? "0" : "1") + "&callback=?");
feed.send();
}