Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
55 changes: 40 additions & 15 deletions jquery.links2objects-0.1.js
Original file line number Diff line number Diff line change
@@ -1,27 +1,29 @@
(function($){
$.fn.links2objects = function(options) {

var defaults = {
sites: ['youtube', 'flickr'],
sites: ['youtube', 'flickr', 'vimeo'],
flickr_size: 'medium',
flickr_api_key: '',
youtube_video_width: 560,
youtube_video_height: 340
youtube_video_height: 340,
vimeo_video_width: 560,
vimeo_video_height: 340
};
var global_obj = null;
var options = $.extend(defaults, options);


var flickr = function(html){
var ret_dict = {}
var ret_dict = {};
var link_regexp = /http:\/\/www.flickr.com\/photos\/([a-z]+)\/(\d+)\/?/gi;
var m = html.match(link_regexp);
if(m){
var len = m.length;
for(var i = 0; i<m.length; i++){
var photo_id = m[i].match(/\d+/)[0];
var request_link = 'http://api.flickr.com/services/rest/?format=json&method=flickr.photos.getSizes&photo_id='+photo_id+'&api_key='+options.flickr_api_key+'&jsoncallback=?';

$.getJSON(request_link,
function(data){
if(data){
Expand All @@ -39,16 +41,16 @@
}
}
}

);
}
}
}
};

var picasa = function(html){
var link_regexp = '';
}
};

var youtube = function(html){
var link_regexp = /http:\/\/(www\.)?youtube\.com\/watch\/?\?v=([a-z0-9\-_]+)(&amp;[a-z]+=.*)*/gi;
var m = html.match(link_regexp);
Expand All @@ -67,10 +69,33 @@
}
}
}
}

var sites_functions = {'flickr': flickr, 'picasa': this.picasa, 'youtube': youtube };

};

var vimeo = function(html){
var link_regexp = /http:\/\/(www\.)?vimeo\.com\/([0-9]+)/gi;
var m = html.match(link_regexp);
if(!m || m.length == 0) return;

for(var i = (m.length - 1); i>=0; i--){
var url = m[i];
var json_url = 'http://vimeo.com/api/oembed.json';
json_url += '?url=' + url;
json_url += '&width=' + options.vimeo_video_width;
json_url += '&height=' + options.vimeo_video_height;
json_url += '&callback=?';

(function(){
var u = url;
$.getJSON(json_url, function(data){
var html = data.html;
global_obj.html(global_obj.html().replace(u, html));
});
})();
}
};

var sites_functions = {'flickr': flickr, 'picasa': this.picasa, 'youtube': youtube, 'vimeo': vimeo };

return this.each(function() {
obj = $(this);
global_obj = obj;
Expand Down
14 changes: 12 additions & 2 deletions test/test.html
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,17 @@ <h3>Flickr</h3>
http://www.flickr.com/photos/tasiu/3806754115/

<br><br><br>


<h3>Vimeo</h3>
<br>
http://vimeo.com/37214396

<br>
http://vimeo.com/15378651

<br><br><br>

</body>

</html>
</html>