Tumblr API V2
by bluetidepro
HTML
<!-- http://www.tumblr.com/docs/en/api/v2#posts //-http://jsonviewer.stack.hu/ // http://api.tumblr.com/v2/blog/blog.iamzachreed.com/posts/quote/?api_key=dqtYbaUpm3nHu5kKJDCA2eywPrwqSgP2CfnHAuboBC55JlhQQD&limit=2&offset=0 ->
CSS
body{padding:20px;}h2{font-weight:bold;}
JavaScript
(function ($) {
$.fn.tumblrPosts = function (options) {
var defaults = {
apiKey: '',
blogName: '',
containerWidth: 500,
theme: 'light',
posts: 5
},
settings = $.extend({}, defaults, options);
if (settings.apiKey == "") {
debug("Please enter a valid API key.");
}
if (settings.blogName == "") {
debug("Please enter your tumblr blog name.");
}
var i = 0;
var $this = $(this);
function getBlogPosts(i) {
var postsShowing = i+settings.posts;
var blogURL = 'http://api.tumblr.com/v2/blog/' + settings.blogName +'.tumblr.com/posts?api_key=' + settings.apiKey + '¬es_info=true&reblog_info=true&limit=' + settings.posts + '&offset=' + i + '&jsonp=?';
//debug(blogURL);
$.getJSON(blogURL, function(data) {
if(data.response.posts != '') {
if(postsShowing <= data.response.total_posts){
//debug('Posts: ' + postsShowing + '/' + data.response.total_posts);
} else {
//debug('Posts: ' + data.response.total_posts + '/' + data.response.total_posts);
}
//debug(data.response.posts.length);
$.each(data.response.posts, function(index, post) {
var type = post["type"];
var slug = post["slug"];
$this.append('<li>' + slug + '(' + type + ')<hr/></li>');
});
//debug(i);
} else {
debug('NO MORE POSTS TO LOAD!');
};
});
};
getBlogPosts(i);
$('#json_click_handler').on('click', function(event) {
event.preventDefault();
i = i + settings.posts;
getBlogPosts(i);
});
};
// Helpers
function stripslashes(str) {
return (str + '').replace(/\0/g, '0').replace(/\\([\\'"])/g, '$1');
}
function debug(error) {
alert(error);
/*if (typeof console == 'object') console.log(error);
else if (typeof opera == 'object')...