')
- .attr('src',src)
- .attr('width',width)
- .attr('height',height)
- .attr('allowfullscreen',embedProvider.embedtag.allowfullscreen || 'true')
- .attr('allowscriptaccess',embedProvider.embedtag.allowfullscreen || 'always')
- .css('max-height', settings.maxHeight || 'auto' )
- .css('max-width', settings.maxWidth || 'auto' );
- if(tag=='embed')
- code
- .attr('type',embedProvider.embedtag.type || "application/x-shockwave-flash")
- .attr('flashvars',externalUrl.replace(embedProvider.templateRegex,flashvars));
- if(tag=='iframe')
- code
- .attr('scrolling',embedProvider.embedtag.scrolling || "no")
- .attr('frameborder',embedProvider.embedtag.frameborder || "0");
-
-
- var oembedData = {code: code};
- success(oembedData, externalUrl,container);
- }else if (embedProvider.apiendpoint) {
- //Add APIkey if true
- if (embedProvider.apikey) embedProvider.apiendpoint = embedProvider.apiendpoint.replace('_APIKEY_', settings.apikeys[embedProvider.name]);
- ajaxopts = $.extend({
- url: externalUrl.replace(embedProvider.templateRegex, embedProvider.apiendpoint),
- dataType: 'jsonp',
- success: function(data) {
- var oembedData = $.extend({}, data);
- oembedData.code = embedProvider.templateData(data);
- success(oembedData, externalUrl, container);
- },
- error: settings.onError.call(container, externalUrl, embedProvider)
+ } else if (embedProvider.yql) {
+ var from = embedProvider.yql.from || 'htmlstring';
+ var url = embedProvider.yql.url ? embedProvider.yql.url(externalUrl) : externalUrl;
+ var query = 'SELECT * FROM ' + from
+ + ' WHERE url="' + (url) + '"'
+ + " and " + (/html/.test(from) ? 'xpath' : 'itemPath') + "='" + (embedProvider.yql.xpath || '/') + "'";
+ if (from == 'html')
+ query += " and compat='html5'";
+ var ajaxopts = $.extend({
+ url: "//query.yahooapis.com/v1/public/yql",
+ dataType: 'jsonp',
+ data: {
+ q: query,
+ format: "json",
+ env: 'store://datatables.org/alltableswithkeys',
+ callback: "?"
+ },
+ success: function (data) {
+ var result;
+
+ if (embedProvider.yql.xpath && embedProvider.yql.xpath == '//meta|//title|//link') {
+ var meta = {};
+
+ if (data.query == null) {
+ data.query = {};
+ }
+ if (data.query.results == null) {
+ data.query.results = {"meta": []};
+ }
+ for (var i = 0, l = data.query.results.meta.length; i < l; i++) {
+ var name = data.query.results.meta[i].name || data.query.results.meta[i].property || null;
+ if (name == null)continue;
+ meta[name.toLowerCase()] = data.query.results.meta[i].content;
+ }
+ if (!meta.hasOwnProperty("title") || !meta.hasOwnProperty("og:title")) {
+ if (data.query.results.title != null) {
+ meta.title = data.query.results.title;
+ }
+ }
+ if (!meta.hasOwnProperty("og:image") && data.query.results.hasOwnProperty("link")) {
+ for (var i = 0, l = data.query.results.link.length; i < l; i++) {
+ if (data.query.results.link[i].hasOwnProperty("rel")) {
+ if (data.query.results.link[i].rel == "apple-touch-icon") {
+ if (data.query.results.link[i].href.charAt(0) == "/") {
+ meta["og:image"] = url.match(/^(([a-z]+:)?(\/\/)?[^\/]+\/).*$/)[1] + data.query.results.link[i].href;
+ } else {
+ meta["og:image"] = data.query.results.link[i].href;
+ }
+ }
+ }
+ }
+ }
+ result = embedProvider.yql.datareturn(meta);
+ } else {
+ result = embedProvider.yql.datareturn ? embedProvider.yql.datareturn(data.query.results) : data.query.results.result;
+ }
+ if (result === false)return;
+ var oembedData = $.extend({}, result);
+ oembedData.code = result;
+ success(oembedData, externalUrl, container);
+ },
+ error: settings.onError.call(container, externalUrl, embedProvider)
}, settings.ajaxOptions || {});
-
- $.ajax( ajaxopts );
- }else {
- var oembedData = {code: externalUrl.replace(embedProvider.templateRegex,embedProvider.template)};
- success(oembedData, externalUrl,container);
- }
- } else {
+ $.ajax(ajaxopts);
+ } else if (embedProvider.templateRegex) {
+ if (embedProvider.embedtag.tag !== '') {
+ var flashvars = embedProvider.embedtag.flashvars || '';
+ var tag = embedProvider.embedtag.tag || 'embed';
+ var width = embedProvider.embedtag.width || 'auto';
+ var height = embedProvider.embedtag.height || 'auto';
+ var src = externalUrl.replace(embedProvider.templateRegex, embedProvider.apiendpoint);
+
+ if (!embedProvider.nocache) {
+ src += '&jqoemcache=' + rand(5);
+ }
+
+ if (embedProvider.apikey) {
+ src = src.replace('_APIKEY_', settings.apikeys[embedProvider.name]);
+ }
+
+ var code = $('<' + tag + '/>').attr('src', src).attr('width', width)
+ .attr('height', height)
+ .attr('allowfullscreen', embedProvider.embedtag.allowfullscreen || 'true')
+ .attr('allowscriptaccess', embedProvider.embedtag.allowfullscreen || 'always')
+ .css('max-height', settings.maxHeight || 'auto')
+ .css('max-width', settings.maxWidth || 'auto');
+
+ if (tag == 'embed') {
+ code.attr('type', embedProvider.embedtag.type || "application/x-shockwave-flash")
+ .attr('flashvars', externalUrl.replace(embedProvider.templateRegex, flashvars));
+ }
- var requestUrl = getRequestUrl(embedProvider, externalUrl),
+ if (tag == 'iframe') {
+ code.attr('scrolling', embedProvider.embedtag.scrolling || "no")
+ .attr('frameborder', embedProvider.embedtag.frameborder || "0");
+
+ }
+
+ success({code: code}, externalUrl, container);
+ } else if (embedProvider.apiendpoint) {
+ //Add APIkey if true
+ if (embedProvider.apikey)
+ embedProvider.apiendpoint = embedProvider.apiendpoint.replace('_APIKEY_', settings.apikeys[embedProvider.name]);
+
+ ajaxopts = $.extend({
+ url: externalUrl.replace(embedProvider.templateRegex, embedProvider.apiendpoint),
+ dataType: 'jsonp',
+ success: function (data) {
+ var oembedData = $.extend({}, data);
+ oembedData.code = embedProvider.templateData(data);
+ success(oembedData, externalUrl, container);
+ },
+ error: settings.onError.call(container, externalUrl, embedProvider)
+ }, settings.ajaxOptions || {});
+ $.ajax(ajaxopts);
+ } else {
+ success({code: externalUrl.replace(embedProvider.templateRegex, embedProvider.template)}, externalUrl, container);
+ }
+ } else {
+
+ var requestUrl = getRequestUrl(embedProvider, externalUrl);
ajaxopts = $.extend({
url: requestUrl,
dataType: embedProvider.dataType || 'jsonp',
- success: function(data) {
+ success: function (data) {
var oembedData = $.extend({}, data);
switch (oembedData.type) {
- case "file": //Deviant Art has this
- case "photo":
- oembedData.code = $.fn.oembed.getPhotoCode(externalUrl, oembedData);
- break;
- case "video":
- case "rich":
- oembedData.code = $.fn.oembed.getRichCode(externalUrl, oembedData);
- break;
- default:
- oembedData.code = $.fn.oembed.getGenericCode(externalUrl, oembedData);
- break;
+ case "file": //Deviant Art has this
+ case "photo":
+ oembedData.code = $.fn.oembed.getPhotoCode(externalUrl, oembedData);
+ break;
+ case "video":
+ case "rich":
+ oembedData.code = $.fn.oembed.getRichCode(externalUrl, oembedData);
+ break;
+ default:
+ oembedData.code = $.fn.oembed.getGenericCode(externalUrl, oembedData);
+ break;
}
success(oembedData, externalUrl, container);
},
error: settings.onError.call(container, externalUrl, embedProvider)
}, settings.ajaxOptions || {});
-
- $.ajax(ajaxopts);
- }
- };
+ $.ajax(ajaxopts);
+ }
+ }
function getNormalizedParams(params) {
if (params === null) return null;
@@ -320,140 +344,166 @@
}
/* Public functions */
- $.fn.oembed.insertCode = function(container, embedMethod, oembedData) {
- if (oembedData === null) return;
- if(embedMethod=='auto' && container.attr("href") !== null) embedMethod='append';
- else if(embedMethod=='auto') embedMethod='replace';
+ $.fn.oembed.insertCode = function (container, embedMethod, oembedData) {
+ if (oembedData === null)
+ return;
+
+ if (embedMethod === 'auto' && container.attr('href') !== null) {
+ embedMethod = 'append';
+ } else if (embedMethod == 'auto') {
+ embedMethod = 'replace';
+ }
+
switch (embedMethod) {
- case "replace":
- container.replaceWith(oembedData.code);
- break;
- case "fill":
- container.html(oembedData.code);
- break;
- case "append":
- container.wrap('');
- var oembedContainer = container.parent();
- if (settings.includeHandle) {
- $('↓').insertBefore(container).click(function() {
- var encodedString = encodeURIComponent($(this).text());
- $(this).html((encodedString == '%E2%86%91') ? '↓' : '↑');
- $(this).parent().children().last().toggle();
- });
- }
- oembedContainer.append('
');
- try {
- oembedData.code.clone().appendTo(oembedContainer);
- } catch(e) {
- oembedContainer.append(oembedData.code);
- }
- /* Make videos semi-responsive
- * If parent div width less than embeded iframe video then iframe gets shrunk to fit smaller width
- * If parent div width greater thans embed iframe use the max widht
- * - works on youtubes and vimeo
- */
- if(settings.maxWidth){
- var post_width = oembedContainer.parent().width();
- if(post_width < settings.maxWidth)
- {
- var iframe_width_orig = $('iframe',oembedContainer).width();
- var iframe_height_orig = $('iframe',oembedContainer).height();
- var ratio = iframe_width_orig / post_width;
- $('iframe',oembedContainer).width(iframe_width_orig / ratio);
- $('iframe',oembedContainer).height(iframe_height_orig / ratio);
- } else {
- if(settings.maxWidth){
- $('iframe',oembedContainer).width(settings.maxWidth);
- }
- if(settings.maxHeight){
- $('iframe',oembedContainer).height(settings.maxHeight);
- }
- }
- }
- break;
+ case "replace":
+ container.replaceWith(oembedData.code);
+ break;
+ case "fill":
+ container.html(oembedData.code);
+ break;
+ case "append":
+ container.wrap('');
+ var oembedContainer = container.parent();
+ if (settings.includeHandle) {
+ $('↓').insertBefore(container).click(function () {
+ var encodedString = encodeURIComponent($(this).text());
+ $(this).html((encodedString == '%E2%86%91') ? '↓' : '↑');
+ $(this).parent().children().last().toggle();
+ });
+ }
+ oembedContainer.append('
');
+ try {
+ oembedData.code.clone().appendTo(oembedContainer);
+ } catch (e) {
+ oembedContainer.append(oembedData.code);
+ }
+ /* Make videos semi-responsive
+ * If parent div width less than embeded iframe video then iframe gets shrunk to fit smaller width
+ * If parent div width greater thans embed iframe use the max widht
+ * - works on youtubes and vimeo
+ */
+ if (settings.maxWidth) {
+ var post_width = oembedContainer.parent().width();
+ if (post_width < settings.maxWidth) {
+ var iframe_width_orig = $('iframe', oembedContainer).width();
+ var iframe_height_orig = $('iframe', oembedContainer).height();
+ var ratio = iframe_width_orig / post_width;
+ $('iframe', oembedContainer).width(iframe_width_orig / ratio);
+ $('iframe', oembedContainer).height(iframe_height_orig / ratio);
+ } else {
+ if (settings.maxWidth) {
+ $('iframe', oembedContainer).width(settings.maxWidth);
+ }
+ if (settings.maxHeight) {
+ $('iframe', oembedContainer).height(settings.maxHeight);
+ }
+ }
+ }
+ break;
}
};
- $.fn.oembed.getPhotoCode = function(url, oembedData) {
- var code, alt = oembedData.title ? oembedData.title : '';
+ $.fn.oembed.getPhotoCode = function (url, oembedData) {
+ var code;
+ var alt = oembedData.title ? oembedData.title : '';
alt += oembedData.author_name ? ' - ' + oembedData.author_name : '';
alt += oembedData.provider_name ? ' - ' + oembedData.provider_name : '';
- if (oembedData.url){
+
+ if (oembedData.url) {
code = '';
- } else if (oembedData.thumbnail_url){
- var newURL = oembedData.thumbnail_url.replace('_s','_b');
+ } else if (oembedData.thumbnail_url) {
+ var newURL = oembedData.thumbnail_url.replace('_s', '_b');
code = '';
} else {
code = 'Error loading this picture
';
}
- if (oembedData.html) code += "" + oembedData.html + "
";
+
+ if (oembedData.html) {
+ code += "" + oembedData.html + "
";
+ }
+
return code;
};
- $.fn.oembed.getRichCode = function(url, oembedData) {
- var code = oembedData.html;
- return code;
+ $.fn.oembed.getRichCode = function (url, oembedData) {
+ return oembedData.html;
};
- $.fn.oembed.getGenericCode = function(url, oembedData) {
- var title = (oembedData.title !== null) ? oembedData.title : url,
- code = '' + title + '';
- if (oembedData.html) code += "" + oembedData.html + "
";
+ $.fn.oembed.getGenericCode = function (url, oembedData) {
+ var title = ((oembedData.title) && (oembedData.title !== null)) ? oembedData.title : url;
+ var code = '' + title + '';
+
+ if (oembedData.html) {
+ code += "" + oembedData.html + "
";
+ }
+
return code;
};
- $.fn.oembed.getOEmbedProvider = function(url) {
+ $.fn.oembed.getOEmbedProvider = function (url) {
for (var i = 0; i < $.fn.oembed.providers.length; i++) {
- for (var j = 0, l =$.fn.oembed.providers[i].urlschemes.length; j < l; j++) {
+ for (var j = 0, l = $.fn.oembed.providers[i].urlschemes.length; j < l; j++) {
var regExp = new RegExp($.fn.oembed.providers[i].urlschemes[j], "i");
- if (url.match(regExp) !== null) return $.fn.oembed.providers[i];
+
+ if (url.match(regExp) !== null)
+ return $.fn.oembed.providers[i];
}
}
return null;
};
- $.fn.oembed.OEmbedProvider = function(name, type, urlschemesarray, apiendpoint, extraSettings) {
+ // Constructor Function for OEmbedProvider Class.
+ $.fn.oembed.OEmbedProvider = function (name, type, urlschemesarray, apiendpoint, extraSettings) {
this.name = name;
this.type = type; // "photo", "video", "link", "rich", null
this.urlschemes = urlschemesarray;
this.apiendpoint = apiendpoint;
this.maxWidth = 500;
this.maxHeight = 400;
- extraSettings =extraSettings ||{};
-
- if(extraSettings.useYQL){
-
- if(extraSettings.useYQL=='xml'){
- extraSettings.yql = {xpath:"//oembed/html", from:'xml'
- , apiendpoint: this.apiendpoint
- , url: function(externalurl){return this.apiendpoint+'?format=xml&url='+externalurl}
- , datareturn:function(results){return results.html.replace(/.*\[CDATA\[(.*)\]\]>$/,'$1') || ''}
- };
- }else{
- extraSettings.yql = {from:'json'
- , apiendpoint: this.apiendpoint
- , url: function(externalurl){return this.apiendpoint+'?format=json&url='+externalurl}
- , datareturn:function(results){
- if (results.json.type != 'video' && (results.json.url || results.json.thumbnail_url)) {
- return '
';
- }
- return results.json.html || ''
- }
- };
- }
- this.apiendpoint = null;
+ extraSettings = extraSettings || {};
+
+ if (extraSettings.useYQL) {
+
+ if (extraSettings.useYQL == 'xml') {
+ extraSettings.yql = {
+ xpath: "//oembed/html",
+ from: 'xml',
+ apiendpoint: this.apiendpoint,
+ url: function (externalurl) {
+ return this.apiendpoint + '?format=xml&url=' + externalurl
+ },
+ datareturn: function (results) {
+ return results.html.replace(/.*\[CDATA\[(.*)\]\]>$/, '$1') || ''
+ }
+ };
+ } else {
+ extraSettings.yql = {
+ from: 'json',
+ apiendpoint: this.apiendpoint,
+ url: function (externalurl) {
+ return this.apiendpoint + '?format=json&url=' + externalurl
+ },
+ datareturn: function (results) {
+ if (results.json.type != 'video' && (results.json.url || results.json.thumbnail_url)) {
+ return '
';
+ }
+ return results.json.html || ''
+ }
+ };
+ }
+ this.apiendpoint = null;
}
-
-
+
+
for (var property in extraSettings) {
- this[property] = extraSettings[property];
+ this[property] = extraSettings[property];
}
-
+
this.format = this.format || 'json';
this.callbackparameter = this.callbackparameter || "callback";
- this.embedtag = this.embedtag || {tag:""};
+ this.embedtag = this.embedtag || {tag: ""};
+
-
};
/*
@@ -465,7 +515,7 @@
* @param {String} apiendpoint The endpoint of the provider
* @param {String} extraSettings Extra settings of the provider
*/
- $.fn.updateOEmbedProvider = function(name, type, urlschemesarray, apiendpoint, extraSettings) {
+ $.fn.updateOEmbedProvider = function (name, type, urlschemesarray, apiendpoint, extraSettings) {
for (var i = 0; i < $.fn.oembed.providers.length; i++) {
if ($.fn.oembed.providers[i].name === name) {
if (type !== null) {
@@ -491,355 +541,468 @@
/* Native & common providers */
$.fn.oembed.providers = [
-
- //Video
- new $.fn.oembed.OEmbedProvider("youtube", "video", ["youtube\\.com/watch.+v=[\\w-]+&?", "youtu\\.be/[\\w-]+","youtube.com/embed"], 'http://www.youtube.com/embed/$1?wmode=transparent', {
- templateRegex: /.*(?:v\=|be\/|embed\/)([\w\-]+)&?.*/,embedtag: {tag: 'iframe',width: '425',height: '349'}
- }),
-
- //new $.fn.oembed.OEmbedProvider("youtube", "video", ["youtube\\.com/watch.+v=[\\w-]+&?", "youtu\\.be/[\\w-]+"], 'http://www.youtube.com/oembed', {useYQL:'json'}),
- //new $.fn.oembed.OEmbedProvider("youtubeiframe", "video", ["youtube.com/embed"], "$1?wmode=transparent",
- // {templateRegex:/(.*)/,embedtag : {tag: 'iframe', width:'425',height: '349'}}),
- new $.fn.oembed.OEmbedProvider("wistia", "video", ["wistia.com/m/.+", "wistia.com/embed/.+","wi.st/m/.+","wi.st/embed/.+"], 'http://fast.wistia.com/oembed', {useYQL:'json'}),
- new $.fn.oembed.OEmbedProvider("xtranormal", "video", ["xtranormal\\.com/watch/.+"], "http://www.xtranormal.com/xtraplayr/$1/$2", {
- templateRegex: /.*com\/watch\/([\w\-]+)\/([\w\-]+).*/,embedtag: {tag: 'iframe',width: '320',height: '269'}}),
- new $.fn.oembed.OEmbedProvider("scivee", "video", ["scivee.tv/node/.+"], "http://www.scivee.tv/flash/embedCast.swf?", {
- templateRegex: /.*tv\/node\/(.+)/,embedtag: {width: '480',height: '400',flashvars:"id=$1&type=3"}}),
- new $.fn.oembed.OEmbedProvider("veoh", "video", ["veoh.com/watch/.+"], "http://www.veoh.com/swf/webplayer/WebPlayer.swf?version=AFrontend.5.7.0.1337&permalinkId=$1&player=videodetailsembedded&videoAutoPlay=0&id=anonymous", {
- templateRegex: /.*watch\/([^\?]+).*/,embedtag: {width: '410',height: '341'}}),
- new $.fn.oembed.OEmbedProvider("gametrailers", "video", ["gametrailers\\.com/video/.+"], "http://media.mtvnservices.com/mgid:moses:video:gametrailers.com:$2", {
- templateRegex: /.*com\/video\/([\w\-]+)\/([\w\-]+).*/,embedtag: {width: '512',height: '288' }}),
- new $.fn.oembed.OEmbedProvider("funnyordie", "video", ["funnyordie\\.com/videos/.+"], "http://player.ordienetworks.com/flash/fodplayer.swf?", {
- templateRegex: /.*videos\/([^\/]+)\/([^\/]+)?/,embedtag: {width: 512,height: 328,flashvars: "key=$1"}}),
- new $.fn.oembed.OEmbedProvider("colledgehumour", "video", ["collegehumor\\.com/video/.+"],"http://www.collegehumor.com/moogaloop/moogaloop.swf?clip_id=$1&use_node_id=true&fullscreen=1",
- {templateRegex:/.*video\/([^\/]+).*/ , embedtag : {width:600,height: 338}}),
- new $.fn.oembed.OEmbedProvider("metacafe", "video", ["metacafe\\.com/watch/.+"],"http://www.metacafe.com/fplayer/$1/$2.swf",
- {templateRegex:/.*watch\/(\d+)\/(\w+)\/.*/ , embedtag : {width:400,height: 345}}),
- new $.fn.oembed.OEmbedProvider("bambuser", "video", ["bambuser\\.com\/channel\/.*\/broadcast\/.*"],"http://static.bambuser.com/r/player.swf?vid=$1",
- {templateRegex:/.*bambuser\.com\/channel\/.*\/broadcast\/(\w+).*/ , embedtag : {width:512,height: 339 }}),
- new $.fn.oembed.OEmbedProvider("twitvid", "video", ["twitvid\\.com/.+"],"http://www.twitvid.com/embed.php?guid=$1&autoplay=0",
- {templateRegex:/.*twitvid\.com\/(\w+).*/ , embedtag : {tag:'iframe',width:480,height: 360 }}),
-
- new $.fn.oembed.OEmbedProvider("aniboom", "video", ["aniboom\\.com/animation-video/.+"],"http://api.aniboom.com/e/$1",
- {templateRegex:/.*animation-video\/(\d+).*/ , embedtag : {width:594,height: 334}}),
-
- new $.fn.oembed.OEmbedProvider("vzaar", "video", ["vzaar\\.com/videos/.+","vzaar.tv/.+"],"http://view.vzaar.com/$1/player?",
- {templateRegex:/.*\/(\d+).*/, embedtag : {tag:'iframe',width:576,height: 324 }}),
- new $.fn.oembed.OEmbedProvider("snotr", "video", ["snotr\\.com/video/.+"],"http://www.snotr.com/embed/$1",
- {templateRegex:/.*\/(\d+).*/, embedtag : {tag:'iframe',width:400,height: 330, nocache:1 }}),
-
- new $.fn.oembed.OEmbedProvider("youku", "video", ["v.youku.com/v_show/id_.+"],"http://player.youku.com/player.php/sid/$1/v.swf",
- {templateRegex:/.*id_(.+)\.html.*/, embedtag : {width:480,height:400, nocache:1 }}),
- new $.fn.oembed.OEmbedProvider("tudou", "video", ["tudou.com/programs/view/.+\/"],"http://www.tudou.com/v/$1/v.swf",
- {templateRegex:/.*view\/(.+)\//, embedtag : {width:480,height:400, nocache:1 }}),
-
- new $.fn.oembed.OEmbedProvider("embedr", "video", ["embedr\\.com/playlist/.+"],"http://embedr.com/swf/slider/$1/425/520/default/false/std?",
- {templateRegex:/.*playlist\/([^\/]+).*/, embedtag : {width:425,height: 520}}),
- new $.fn.oembed.OEmbedProvider("blip", "video", ["blip\\.tv/.+"], "http://blip.tv/oembed/"),
- new $.fn.oembed.OEmbedProvider("minoto-video", "video", ["http://api.minoto-video.com/publishers/.+/videos/.+","http://dashboard.minoto-video.com/main/video/details/.+","http://embed.minoto-video.com/.+"], "http://api.minoto-video.com/services/oembed.json",{useYQL:'json'}),
- new $.fn.oembed.OEmbedProvider("animoto", "video", ["animoto.com/play/.+"], "http://animoto.com/services/oembed"),
- new $.fn.oembed.OEmbedProvider("hulu", "video", ["hulu\\.com/watch/.*"], "http://www.hulu.com/api/oembed.json"),
- new $.fn.oembed.OEmbedProvider("ustream", "video", ["ustream\\.tv/recorded/.*"], "http://www.ustream.tv/oembed",{useYQL:'json'}),
- new $.fn.oembed.OEmbedProvider("videojug", "video", ["videojug\\.com/(film|payer|interview).*"], "http://www.videojug.com/oembed.json",{useYQL:'json'}),
- new $.fn.oembed.OEmbedProvider("sapo", "video", ["videos\\.sapo\\.pt/.*"], "http://videos.sapo.pt/oembed",{useYQL:'json'}),
- new $.fn.oembed.OEmbedProvider("vodpod", "video", ["vodpod.com/watch/.*"], "http://vodpod.com/oembed.js",{useYQL:'json'}),
- new $.fn.oembed.OEmbedProvider("vimeo", "video", ["www\.vimeo\.com\/groups\/.*\/videos\/.*", "www\.vimeo\.com\/.*", "vimeo\.com\/groups\/.*\/videos\/.*", "vimeo\.com\/.*"], "//vimeo.com/api/oembed.json"),
- new $.fn.oembed.OEmbedProvider("dailymotion", "video", ["dailymotion\\.com/.+"],'http://www.dailymotion.com/services/oembed'),
- new $.fn.oembed.OEmbedProvider("5min", "video", ["www\\.5min\\.com/.+"], 'http://api.5min.com/oembed.xml',{useYQL:'xml'}),
- new $.fn.oembed.OEmbedProvider("National Film Board of Canada", "video", ["nfb\\.ca/film/.+"],'http://www.nfb.ca/remote/services/oembed/',{useYQL:'json'}),
- new $.fn.oembed.OEmbedProvider("qik", "video", ["qik\\.com/\\w+"], 'http://qik.com/api/oembed.json',{useYQL:'json'}),
- new $.fn.oembed.OEmbedProvider("revision3", "video", ["revision3\\.com"], "http://revision3.com/api/oembed/"),
- new $.fn.oembed.OEmbedProvider("dotsub", "video", ["dotsub\\.com/view/.+"], "http://dotsub.com/services/oembed",{useYQL:'json'}),
- new $.fn.oembed.OEmbedProvider("clikthrough", "video", ["clikthrough\\.com/theater/video/\\d+"], "http://clikthrough.com/services/oembed"),
- new $.fn.oembed.OEmbedProvider("Kinomap", "video", ["kinomap\\.com/.+"], "http://www.kinomap.com/oembed"),
- new $.fn.oembed.OEmbedProvider("VHX", "video", ["vhx.tv/.+"], "http://vhx.tv/services/oembed.json"),
- new $.fn.oembed.OEmbedProvider("bambuser", "video", ["bambuser.com/.+"], "http://api.bambuser.com/oembed/iframe.json"),
- new $.fn.oembed.OEmbedProvider("justin.tv", "video", ["justin.tv/.+"], 'http://api.justin.tv/api/embed/from_url.json',{useYQL:'json'}),
-
-
- //Audio
- new $.fn.oembed.OEmbedProvider("official.fm", "rich", ["official.fm/.+"], 'http://official.fm/services/oembed',{useYQL:'json'}),
- new $.fn.oembed.OEmbedProvider("chirbit", "rich", ["chirb.it/.+"], 'http://chirb.it/oembed.json',{useYQL:'json'}),
- new $.fn.oembed.OEmbedProvider("Huffduffer", "rich", ["huffduffer.com/[-.\\w@]+/\\d+"], "http://huffduffer.com/oembed"),
- new $.fn.oembed.OEmbedProvider("Spotify", "rich", ["open.spotify.com/(track|album|user)/"], "https://embed.spotify.com/oembed/"),
- new $.fn.oembed.OEmbedProvider("shoudio", "rich", ["shoudio.com/.+","shoud.io/.+"], "http://shoudio.com/api/oembed"),
- new $.fn.oembed.OEmbedProvider("mixcloud", "rich", ["mixcloud.com/.+"],'http://www.mixcloud.com/oembed/',{useYQL:'json'}),
- new $.fn.oembed.OEmbedProvider("rdio.com", "rich", ["rd.io/.+","rdio.com"], "http://www.rdio.com/api/oembed/"),
- new $.fn.oembed.OEmbedProvider("Soundcloud", "rich", ["soundcloud.com/.+","snd.sc/.+"], "http://soundcloud.com/oembed",{format:'js'}),
- new $.fn.oembed.OEmbedProvider("bandcamp", "rich", ["bandcamp\\.com/album/.+"], null,
- {yql:{xpath:"//meta[contains(@content, \\'EmbeddedPlayer\\')]", from:'html'
- , datareturn:function(results){
- return results.meta ?'':false;
- }
- }
- }),
-
- //Photo
- new $.fn.oembed.OEmbedProvider("deviantart", "photo", ["deviantart.com/.+","fav.me/.+","deviantart.com/.+"], "http://backend.deviantart.com/oembed",{format:'jsonp'}),
- new $.fn.oembed.OEmbedProvider("skitch", "photo", ["skitch.com/.+"], null,
- {yql:{xpath:"json", from:'json'
- , url: function(externalurl){return 'http://skitch.com/oembed/?format=json&url='+externalurl}
- , datareturn:function(data){return $.fn.oembed.getPhotoCode( data.json.url, data.json);}
- }
- }),
- new $.fn.oembed.OEmbedProvider("mobypicture", "photo", ["mobypicture.com/user/.+/view/.+","moby.to/.+"], "http://api.mobypicture.com/oEmbed"),
- new $.fn.oembed.OEmbedProvider("flickr", "photo", ["flickr\\.com/photos/.+"], "http://flickr.com/services/oembed",{callbackparameter:'jsoncallback'}),
- new $.fn.oembed.OEmbedProvider("photobucket", "photo", ["photobucket\\.com/(albums|groups)/.+"], "http://photobucket.com/oembed/"),
- new $.fn.oembed.OEmbedProvider("instagram", "photo", ["instagr\\.?am(\\.com)?/.+"], "http://api.instagram.com/oembed"),
- //new $.fn.oembed.OEmbedProvider("yfrog", "photo", ["yfrog\\.(com|ru|com\\.tr|it|fr|co\\.il|co\\.uk|com\\.pl|pl|eu|us)/.+"], "http://www.yfrog.com/api/oembed",{useYQL:"json"}),
- new $.fn.oembed.OEmbedProvider("SmugMug", "photo", ["smugmug.com/[-.\\w@]+/.+"], "http://api.smugmug.com/services/oembed/"),
-
- new $.fn.oembed.OEmbedProvider("dribbble", "photo", ["dribbble.com/shots/.+"], "http://api.dribbble.com/shots/$1?callback=?",
- { templateRegex:/.*shots\/([\d]+).*/,
- templateData : function(data){if(!data.image_teaser_url)return false;
- return '
';
- }
- }),
- new $.fn.oembed.OEmbedProvider("chart.ly", "photo", ["chart\\.ly/[a-z0-9]{6,8}"],"http://chart.ly/uploads/large_$1.png",
- {templateRegex:/.*ly\/([^\/]+).*/ , embedtag : {tag:'img'},nocache:1}),
- //new $.fn.oembed.OEmbedProvider("stocktwits.com", "photo", ["stocktwits\\.com/message/.+"], "http://charts.stocktwits.com/production/original_$1.png?",
- // { templateRegex: /.*message\/([^\/]+).*/, embedtag: { tag: 'img'},nocache:1 }),
- new $.fn.oembed.OEmbedProvider("circuitlab", "photo", ["circuitlab.com/circuit/.+"],"https://www.circuitlab.com/circuit/$1/screenshot/540x405/",
- {templateRegex:/.*circuit\/([^\/]+).*/ , embedtag : {tag:'img'},nocache:1}),
- new $.fn.oembed.OEmbedProvider("23hq", "photo", ["23hq.com/[-.\\w@]+/photo/.+"],"http://www.23hq.com/23/oembed",{useYQL:"json"}),
- new $.fn.oembed.OEmbedProvider("img.ly", "photo", ["img\\.ly/.+"],"http://img.ly/show/thumb/$1",
- {templateRegex:/.*ly\/([^\/]+).*/ , embedtag : {tag:'img'},nocache:1
- }),
- new $.fn.oembed.OEmbedProvider("twitgoo.com", "photo", ["twitgoo\\.com/.+"],"http://twitgoo.com/show/thumb/$1",
- {templateRegex:/.*com\/([^\/]+).*/ , embedtag : {tag:'img'},nocache:1}),
- new $.fn.oembed.OEmbedProvider("imgur.com", "photo", ["imgur\\.com/gallery/.+"],"http://imgur.com/$1l.jpg",
- {templateRegex:/.*gallery\/([^\/]+).*/ , embedtag : {tag:'img'},nocache:1}),
- new $.fn.oembed.OEmbedProvider("visual.ly", "rich", ["visual\\.ly/.+"], null,
- {yql:{xpath:"//a[@id=\\'gc_article_graphic_image\\']/img", from:'htmlstring'}
- }),
- new $.fn.oembed.OEmbedProvider("gravtar", "photo", ["mailto:.+"],null,
- {templateRegex:/mailto:([^\/]+).*/
- , template : function(wm,email){
- return '
';
- }
- }),
-
- //Rich
- new $.fn.oembed.OEmbedProvider("twitter", "rich", ["twitter.com/.+"], "https://api.twitter.com/1/statuses/oembed.json"),
- new $.fn.oembed.OEmbedProvider("gmep", "rich", ["gmep.imeducate.com/.*","gmep.org/.*"], "http://gmep.org/oembed.json"),
- new $.fn.oembed.OEmbedProvider("urtak", "rich", ["urtak.com/(u|clr)/.+"], "http://oembed.urtak.com/1/oembed"),
- new $.fn.oembed.OEmbedProvider("cacoo", "rich", ["cacoo.com/.+"], "http://cacoo.com/oembed.json"),
- new $.fn.oembed.OEmbedProvider("dailymile", "rich", ["dailymile.com/people/.*/entries/.*"], "http://api.dailymile.com/oembed"),
- new $.fn.oembed.OEmbedProvider("dipity", "rich", ["dipity.com/timeline/.+"],'http://www.dipity.com/oembed/timeline/',{useYQL:'json'}),
- new $.fn.oembed.OEmbedProvider("sketchfab", "rich", ["sketchfab.com/show/.+"],'http://sketchfab.com/oembed',{useYQL:'json'}),
- new $.fn.oembed.OEmbedProvider("speakerdeck", "rich", ["speakerdeck.com/.+"],'http://speakerdeck.com/oembed.json',{useYQL:'json'}),
- new $.fn.oembed.OEmbedProvider("popplet", "rich", ["popplet.com/app/.*"],"http://popplet.com/app/Popplet_Alpha.swf?page_id=$1&em=1",
- {templateRegex:/.*#\/([^\/]+).*/,embedtag : {width:460,height: 460} }),
-
- new $.fn.oembed.OEmbedProvider("pearltrees", "rich", ["pearltrees.com/.*"],"http://cdn.pearltrees.com/s/embed/getApp?",
- {templateRegex:/.*N-f=1_(\d+).*N-p=(\d+).*/, embedtag : {width:460,height: 460,
- flashvars : "lang=en_US&embedId=pt-embed-$1-693&treeId=$1&pearlId=$2&treeTitle=Diagrams%2FVisualization&site=www.pearltrees.com%2FF"}
- }),
-
- new $.fn.oembed.OEmbedProvider("prezi", "rich", ["prezi.com/.*"],"http://prezi.com/bin/preziloader.swf?",
- {templateRegex:/.*com\/([^\/]+)\/.*/,embedtag : {width:550,height: 400,
- flashvars : "prezi_id=$1&lock_to_path=0&color=ffffff&autoplay=no&autohide_ctrls=0"
- }
- }),
-
- new $.fn.oembed.OEmbedProvider("tourwrist", "rich", ["tourwrist.com/tours/.+"], null,
- { templateRegex:/.*tours.([\d]+).*/,
- template : function(wm,tourid){
- setTimeout(function(){if(loadEmbeds)loadEmbeds();},2000);
- return " ";
- }
- }),
-
- new $.fn.oembed.OEmbedProvider("meetup", "rich", ["meetup\\.(com|ps)/.+"], "http://api.meetup.com/oembed"),
- new $.fn.oembed.OEmbedProvider("ebay", "rich", ["ebay\\.*"],"http://togo.ebay.com/togo/togo.swf?2008013100",
- {templateRegex:/.*\/([^\/]+)\/(\d{10,13}).*/, embedtag : {width:355,height: 300,
- flashvars : "base=http://togo.ebay.com/togo/&lang=en-us&mode=normal&itemid=$2&query=$1"
- }
- }),
- new $.fn.oembed.OEmbedProvider("wikipedia", "rich", ["wikipedia.org/wiki/.+"], "http://$1.wikipedia.org/w/api.php?action=parse&page=$2&format=json§ion=0&callback=?",{
- templateRegex:/.*\/\/([\w]+).*\/wiki\/([^\/]+).*/,
- templateData : function(data){if(!data.parse)return false;
- var text = data.parse['text']['*'].replace(/href="\/wiki/g,'href="http://en.wikipedia.org/wiki');
- return '';
- }
- }),
- new $.fn.oembed.OEmbedProvider("imdb", "rich", ["imdb.com/title/.+"], "http://www.imdbapi.com/?i=$1&callback=?",
- {templateRegex:/.*\/title\/([^\/]+).*/,
- templateData : function(data){if(!data.Title)return false;
- return 'Rating: ' + data.imdbRating + '
Genre: ' + data.Genre + '
Starring: '+data.Actors+'
'+data.Plot+'
';
- }
- }),
- new $.fn.oembed.OEmbedProvider("livejournal", "rich", ["livejournal.com/"], "http://ljpic.seacrow.com/json/$2$4?jsonp=?"
- ,{templateRegex:/(http:\/\/(((?!users).)+)\.livejournal\.com|.*users\.livejournal\.com\/([^\/]+)).*/,
- templateData : function(data){if(!data.username)return false;
- return '';
- }
- }),
- new $.fn.oembed.OEmbedProvider("circuitbee", "rich", ["circuitbee\\.com/circuit/view/.+"],"http://c.circuitbee.com/build/r/schematic-embed.html?id=$1",
- {templateRegex:/.*circuit\/view\/(\d+).*/ ,embedtag : {tag: 'iframe', width:'500',height: '350'}
- }),
-
- new $.fn.oembed.OEmbedProvider("googlecalendar", "rich", ["www.google.com/calendar/embed?.+"],"$1",
- {templateRegex:/(.*)/ ,embedtag : {tag: 'iframe', width:'800',height: '600' }
- }),
- new $.fn.oembed.OEmbedProvider("jsfiddle", "rich", ["jsfiddle.net/[^/]+/?"],"http://jsfiddle.net/$1/embedded/result,js,resources,html,css/?",
- {templateRegex:/.*net\/([^\/]+).*/ ,embedtag : {tag: 'iframe', width:'100%',height: '300' }
- }),
- new $.fn.oembed.OEmbedProvider("jsbin", "rich", ["jsbin.com/.+"],"http://jsbin.com/$1/?",
- {templateRegex:/.*com\/([^\/]+).*/ ,embedtag : {tag: 'iframe', width:'100%',height: '300' }
- }),
-
- new $.fn.oembed.OEmbedProvider("jotform", "rich", ["form.jotform.co/form/.+"],"$1?",
- {templateRegex:/(.*)/ ,embedtag : {tag: 'iframe', width:'100%',height: '507' }
- }),
- new $.fn.oembed.OEmbedProvider("reelapp", "rich", ["reelapp\\.com/.+"],"http://www.reelapp.com/$1/embed",
- {templateRegex:/.*com\/(\S{6}).*/ ,embedtag : {tag: 'iframe', width:'400',height: '338'}
- }),
- new $.fn.oembed.OEmbedProvider("linkedin", "rich", ["linkedin.com/pub/.+"],"https://www.linkedin.com/cws/member/public_profile?public_profile_url=$1&format=inline&isFramed=true",
- {templateRegex:/(.*)/ ,embedtag : {tag: 'iframe', width:'368px',height: 'auto'}
- }),
-
- new $.fn.oembed.OEmbedProvider("timetoast", "rich", ["timetoast.com/timelines/[0-9]+"],"http://www.timetoast.com/flash/TimelineViewer.swf?passedTimelines=$1",
- {templateRegex:/.*timelines\/([0-9]*)/ ,embedtag : { width:550,height: 400,nocache:1}
- }),
- new $.fn.oembed.OEmbedProvider("pastebin", "rich", ["pastebin\\.com/[\\S]{8}"],"http://pastebin.com/embed_iframe.php?i=$1",
- {templateRegex:/.*\/(\S{8}).*/ ,embedtag : {tag: 'iframe', width:'100%',height: 'auto'}
- }),
- new $.fn.oembed.OEmbedProvider("mixlr", "rich", ["mixlr.com/.+"],"http://mixlr.com/embed/$1?autoplay=ae",
- {templateRegex:/.*com\/([^\/]+).*/ ,embedtag : {tag: 'iframe', width:'100%',height: 'auto' }
- }),
- new $.fn.oembed.OEmbedProvider("pastie", "rich", ["pastie\\.org/pastes/.+"],null,{yql:{xpath:'//pre[@class="textmate-source"]'}}),
- new $.fn.oembed.OEmbedProvider("github", "rich", ["gist.github.com/.+"], "https://github.com/api/oembed"),
- new $.fn.oembed.OEmbedProvider("github", "rich", ["github.com/[-.\\w@]+/[-.\\w@]+"], "https://api.github.com/repos/$1/$2?callback=?"
- ,{templateRegex:/.*\/([^\/]+)\/([^\/]+).*/,
- templateData : function(data){ if(!data.data.html_url)return false;
- return ''+data.data.description+'
'
- +'
Last updated: '+data.data.pushed_at+'
';
- }
- }),
-
- new $.fn.oembed.OEmbedProvider("facebook", "rich", ["facebook.com/(people/[^\\/]+/\\d+|[^\\/]+$)"], "https://graph.facebook.com/$2$3/?callback=?"
- ,{templateRegex:/.*facebook.com\/(people\/[^\/]+\/(\d+).*|([^\/]+$))/,
- templateData : function(data){ if(!data.id)return false;
- var out = '';
- if(data.picture) out += '

';
- else out += '

';
- if(data.from) out += '
'+data.name+'';
- if(data.founded) out += 'Founded:
'+data.founded+''
- if(data.category) out += 'Category:
'+data.category+'';
- if(data.website) out += 'Website:
'+data.website+'';
- if(data.gender) out += 'Gender:
'+data.gender+'';
- if(data.description) out += data.description + '
';
- out += '
';
- return out;
- }
- }),
- new $.fn.oembed.OEmbedProvider("stackoverflow", "rich", ["stackoverflow.com/questions/[\\d]+"], "http://api.stackoverflow.com/1.1/questions/$1?body=true&jsonp=?"
- ,{templateRegex:/.*questions\/([\d]+).*/,
- templateData : function(data){
- if(!data.questions)return false;
- var q = data.questions[0];
- var body = $(q.body).text();
- var out = '
'
- +'
'+ (q.up_vote_count - q.down_vote_count)+ 'vote(s)
'
- +'
'+q.answer_count+'answer
'+q.view_count+' view(s)
'
- +'
'
- +'
'+ body.substring(0,100)+'...
';
- return out;
- }
- }),
- new $.fn.oembed.OEmbedProvider("wordpress", "rich", ["wordpress\\.com/.+","blogs\\.cnn\\.com/.+","techcrunch\\.com/.+","wp\\.me/.+"], "http://public-api.wordpress.com/oembed/1.0/?for=jquery-oembed-all"),
- new $.fn.oembed.OEmbedProvider("screenr", "rich", ["screenr\.com"], "http://www.screenr.com/embed/$1",
- {templateRegex:/.*\/([^\/]+).*/
- ,embedtag : {tag: 'iframe', width:'650',height: 396}
- }) ,
- new $.fn.oembed.OEmbedProvider("gigpans", "rich", ["gigapan\\.org/[-.\\w@]+/\\d+"],"http://gigapan.org/gigapans/$1/options/nosnapshots/iframe/flash.html",
- {templateRegex:/.*\/(\d+)\/?.*/,
- embedtag : {tag: 'iframe', width:'100%',height: 400 }
- }),
- new $.fn.oembed.OEmbedProvider("scribd", "rich", ["scribd\\.com/.+"],"http://www.scribd.com/embeds/$1/content?start_page=1&view_mode=list",
- {templateRegex:/.*doc\/([^\/]+).*/ ,
- embedtag : {tag: 'iframe', width:'100%',height: 600}
- }),
- new $.fn.oembed.OEmbedProvider("kickstarter", "rich", ["kickstarter\\.com/projects/.+"], "$1/widget/card.html",
- {templateRegex:/([^\?]+).*/ ,
- embedtag : {tag: 'iframe', width:'220',height: 380}
- }),
-
- new $.fn.oembed.OEmbedProvider("amazon", "rich", ["amzn.com/B+","amazon.com.*/(B\\S+)($|\\/.*)"], "http://rcm.amazon.com/e/cm?t=_APIKEY_&o=1&p=8&l=as1&asins=$1&ref=qf_br_asin_til&fc1=000000&IS2=1<1=_blank&m=amazon&lc1=0000FF&bc1=000000&bg1=FFFFFF&f=ifr"
- ,{apikey: true,templateRegex:/.*\/(B[0-9A-Z]+)($|\/.*)/,
- embedtag : {tag: 'iframe', width:'120px',height: '240px'}
- }),
-
- new $.fn.oembed.OEmbedProvider("slideshare", "rich", ["slideshare\.net"], "http://www.slideshare.net/api/oembed/2",{format:'jsonp'}),
- new $.fn.oembed.OEmbedProvider("roomsharejp", "rich", ["roomshare\\.jp/(en/)?post/.*"], "http://roomshare.jp/oembed.json"),
-
- new $.fn.oembed.OEmbedProvider("lanyard", "rich", ["lanyrd.com/\\d+/.+"], null,
- {yql:{xpath:'(//div[@class="primary"])[1]', from: 'htmlstring'
- , datareturn:function(results){
- if(!results.result) return false;
- return '
'+results.result+'
';
- }
- }
- }),
- new $.fn.oembed.OEmbedProvider("asciiartfarts", "rich", ["asciiartfarts.com/\\d+.html"], null,
- {yql:{xpath:'//pre/font', from: 'htmlstring'
- , datareturn:function(results){
- if(!results.result) return false;
- return '
'+results.result+'
';
- }
- }
- }),
-
-
-
- //Use Open Graph Where applicable
- new $.fn.oembed.OEmbedProvider("opengraph", "rich", [".*"], null,
- {yql:{xpath:"//meta|//title|//link", from:'html'
- , datareturn:function(results){
- if(!results['og:title'] && results['title'] &&results['description'])results['og:title']=results['title'];
- if(!results['og:title'] && !results['title'])return false;
- var code = $('');
- if(results['og:video']) {
- var embed = $('');
- embed
- .attr('type',results['og:video:type'] || "application/x-shockwave-flash")
- .css('max-height', settings.maxHeight || 'auto' )
- .css('max-width', settings.maxWidth || 'auto' );
- if(results['og:video:width']) embed.attr('width',results['og:video:width']);
- if(results['og:video:height']) embed.attr('height',results['og:video:height']);
- code.append(embed);
- }else if(results['og:image']) {
- var img = $('
');
- img.css('max-height', settings.maxHeight || 'auto' ).css('max-width', settings.maxWidth || 'auto' );
- if(results['og:image:width']) img.attr('width',results['og:image:width']);
- if(results['og:image:height']) img.attr('height',results['og:image:height']);
- code.append(img);
+
+ //Video
+ new $.fn.oembed.OEmbedProvider("youtube", "video", ["youtube\\.com/watch.+v=[\\w-]+&?", "youtu\\.be/[\\w-]+", "youtube.com/embed"], 'http://www.youtube.com/embed/$1?wmode=transparent', {
+ templateRegex: /.*(?:v\=|be\/|embed\/)([\w\-]+)&?.*/, embedtag: {tag: 'iframe', width: '425', height: '349'}
+ }),
+
+ //new $.fn.oembed.OEmbedProvider("youtube", "video", ["youtube\\.com/watch.+v=[\\w-]+&?", "youtu\\.be/[\\w-]+"], 'http://www.youtube.com/oembed', {useYQL:'json'}),
+ //new $.fn.oembed.OEmbedProvider("youtubeiframe", "video", ["youtube.com/embed"], "$1?wmode=transparent",
+ // {templateRegex:/(.*)/,embedtag : {tag: 'iframe', width:'425',height: '349'}}),
+ new $.fn.oembed.OEmbedProvider("wistia", "video", ["wistia.com/m/.+", "wistia.com/embed/.+", "wi.st/m/.+", "wi.st/embed/.+"], 'http://fast.wistia.com/oembed', {useYQL: 'json'}),
+ new $.fn.oembed.OEmbedProvider("xtranormal", "video", ["xtranormal\\.com/watch/.+"], "http://www.xtranormal.com/xtraplayr/$1/$2", {
+ templateRegex: /.*com\/watch\/([\w\-]+)\/([\w\-]+).*/, embedtag: {tag: 'iframe', width: '320', height: '269'}}),
+ new $.fn.oembed.OEmbedProvider("scivee", "video", ["scivee.tv/node/.+"], "http://www.scivee.tv/flash/embedCast.swf?", {
+ templateRegex: /.*tv\/node\/(.+)/, embedtag: {width: '480', height: '400', flashvars: "id=$1&type=3"}}),
+ new $.fn.oembed.OEmbedProvider("veoh", "video", ["veoh.com/watch/.+"], "http://www.veoh.com/swf/webplayer/WebPlayer.swf?version=AFrontend.5.7.0.1337&permalinkId=$1&player=videodetailsembedded&videoAutoPlay=0&id=anonymous", {
+ templateRegex: /.*watch\/([^\?]+).*/, embedtag: {width: '410', height: '341'}}),
+ new $.fn.oembed.OEmbedProvider("gametrailers", "video", ["gametrailers\\.com/video/.+"], "http://media.mtvnservices.com/mgid:moses:video:gametrailers.com:$2", {
+ templateRegex: /.*com\/video\/([\w\-]+)\/([\w\-]+).*/, embedtag: {width: '512', height: '288' }}),
+ new $.fn.oembed.OEmbedProvider("funnyordie", "video", ["funnyordie\\.com/videos/.+"], "http://player.ordienetworks.com/flash/fodplayer.swf?", {
+ templateRegex: /.*videos\/([^\/]+)\/([^\/]+)?/, embedtag: {width: 512, height: 328, flashvars: "key=$1"}}),
+ new $.fn.oembed.OEmbedProvider("colledgehumour", "video", ["collegehumor\\.com/video/.+"], "http://www.collegehumor.com/moogaloop/moogaloop.swf?clip_id=$1&use_node_id=true&fullscreen=1",
+ {templateRegex: /.*video\/([^\/]+).*/, embedtag: {width: 600, height: 338}}),
+ new $.fn.oembed.OEmbedProvider("metacafe", "video", ["metacafe\\.com/watch/.+"], "http://www.metacafe.com/fplayer/$1/$2.swf",
+ {templateRegex: /.*watch\/(\d+)\/(\w+)\/.*/, embedtag: {width: 400, height: 345}}),
+ new $.fn.oembed.OEmbedProvider("bambuser", "video", ["bambuser\\.com\/channel\/.*\/broadcast\/.*"], "http://static.bambuser.com/r/player.swf?vid=$1",
+ {templateRegex: /.*bambuser\.com\/channel\/.*\/broadcast\/(\w+).*/, embedtag: {width: 512, height: 339 }}),
+ new $.fn.oembed.OEmbedProvider("twitvid", "video", ["twitvid\\.com/.+"], "http://www.twitvid.com/embed.php?guid=$1&autoplay=0",
+ {templateRegex: /.*twitvid\.com\/(\w+).*/, embedtag: {tag: 'iframe', width: 480, height: 360 }}),
+ new $.fn.oembed.OEmbedProvider("aniboom", "video", ["aniboom\\.com/animation-video/.+"], "http://api.aniboom.com/e/$1",
+ {templateRegex: /.*animation-video\/(\d+).*/, embedtag: {width: 594, height: 334}}),
+ new $.fn.oembed.OEmbedProvider("vzaar", "video", ["vzaar\\.com/videos/.+", "vzaar.tv/.+"], "http://view.vzaar.com/$1/player?",
+ {templateRegex: /.*\/(\d+).*/, embedtag: {tag: 'iframe', width: 576, height: 324 }}),
+ new $.fn.oembed.OEmbedProvider("snotr", "video", ["snotr\\.com/video/.+"], "http://www.snotr.com/embed/$1",
+ {templateRegex: /.*\/(\d+).*/, embedtag: {tag: 'iframe', width: 400, height: 330}, nocache: 1 }),
+ new $.fn.oembed.OEmbedProvider("youku", "video", ["v.youku.com/v_show/id_.+"], "http://player.youku.com/player.php/sid/$1/v.swf",
+ {templateRegex: /.*id_(.+)\.html.*/, embedtag: {width: 480, height: 400}, nocache: 1 }),
+ new $.fn.oembed.OEmbedProvider("tudou", "video", ["tudou.com/programs/view/.+\/"], "http://www.tudou.com/v/$1/v.swf",
+ {templateRegex: /.*view\/(.+)\//, embedtag: {width: 480, height: 400}, nocache: 1 }),
+ new $.fn.oembed.OEmbedProvider("embedr", "video", ["embedr\\.com/playlist/.+"], "http://embedr.com/swf/slider/$1/425/520/default/false/std?",
+ {templateRegex: /.*playlist\/([^\/]+).*/, embedtag: {width: 425, height: 520}}),
+ new $.fn.oembed.OEmbedProvider("blip", "video", ["blip\\.tv/.+"], "//blip.tv/oembed/"),
+ new $.fn.oembed.OEmbedProvider("minoto-video", "video", ["http://api.minoto-video.com/publishers/.+/videos/.+", "http://dashboard.minoto-video.com/main/video/details/.+", "http://embed.minoto-video.com/.+"], "http://api.minoto-video.com/services/oembed.json", {useYQL: 'json'}),
+ new $.fn.oembed.OEmbedProvider("animoto", "video", ["animoto.com/play/.+"], "http://animoto.com/services/oembed"),
+ new $.fn.oembed.OEmbedProvider("hulu", "video", ["hulu\\.com/watch/.*"], "//www.hulu.com/api/oembed.json"),
+ new $.fn.oembed.OEmbedProvider("ustream", "video", ["ustream\\.tv/recorded/.*"], "http://www.ustream.tv/oembed", {useYQL: 'json'}),
+ new $.fn.oembed.OEmbedProvider("videojug", "video", ["videojug\\.com/(film|payer|interview).*"], "http://www.videojug.com/oembed.json", {useYQL: 'json'}),
+ new $.fn.oembed.OEmbedProvider("sapo", "video", ["videos\\.sapo\\.pt/.*"], "http://videos.sapo.pt/oembed", {useYQL: 'json'}),
+ new $.fn.oembed.OEmbedProvider("vodpod", "video", ["vodpod.com/watch/.*"], "http://vodpod.com/oembed.js", {useYQL: 'json'}),
+ new $.fn.oembed.OEmbedProvider("vimeo", "video", ["www\.vimeo\.com\/groups\/.*\/videos\/.*", "www\.vimeo\.com\/.*", "vimeo\.com\/groups\/.*\/videos\/.*", "vimeo\.com\/.*"], "//vimeo.com/api/oembed.json"),
+ new $.fn.oembed.OEmbedProvider("dailymotion", "video", ["dailymotion\\.com/.+"], '//www.dailymotion.com/services/oembed'),
+ new $.fn.oembed.OEmbedProvider("5min", "video", ["www\\.5min\\.com/.+"], 'http://api.5min.com/oembed.xml', {useYQL: 'xml'}),
+ new $.fn.oembed.OEmbedProvider("National Film Board of Canada", "video", ["nfb\\.ca/film/.+"], 'http://www.nfb.ca/remote/services/oembed/', {useYQL: 'json'}),
+ new $.fn.oembed.OEmbedProvider("qik", "video", ["qik\\.com/\\w+"], 'http://qik.com/api/oembed.json', {useYQL: 'json'}),
+ new $.fn.oembed.OEmbedProvider("revision3", "video", ["revision3\\.com"], "http://revision3.com/api/oembed/"),
+ new $.fn.oembed.OEmbedProvider("dotsub", "video", ["dotsub\\.com/view/.+"], "http://dotsub.com/services/oembed", {useYQL: 'json'}),
+ new $.fn.oembed.OEmbedProvider("clikthrough", "video", ["clikthrough\\.com/theater/video/\\d+"], "http://clikthrough.com/services/oembed"),
+ new $.fn.oembed.OEmbedProvider("Kinomap", "video", ["kinomap\\.com/.+"], "http://www.kinomap.com/oembed"),
+ new $.fn.oembed.OEmbedProvider("VHX", "video", ["vhx.tv/.+"], "http://vhx.tv/services/oembed.json"),
+ new $.fn.oembed.OEmbedProvider("bambuser", "video", ["bambuser.com/.+"], "http://api.bambuser.com/oembed/iframe.json"),
+ new $.fn.oembed.OEmbedProvider("justin.tv", "video", ["justin.tv/.+"], 'http://api.justin.tv/api/embed/from_url.json', {useYQL: 'json'}),
+ new $.fn.oembed.OEmbedProvider("vine", "video", ["vine.co/v/.*"], null,
+ {
+ templateRegex: /https?:\/\/w?w?w?.?vine\.co\/v\/([a-zA-Z0-9]*).*/,
+ template: '' +
+ '',
+ nocache: 1
+ }),
+ new $.fn.oembed.OEmbedProvider("boxofficebuz", "video", ["boxofficebuz\\.com\\/embed/.+"], "http://boxofficebuz.com/embed/$1/$2", {templateRegex: [/.*boxofficebuz\.com\/embed\/(\w+)\/([\w*\-*]+)/], embedtag: {tag: 'iframe', width: 480, height: 360 }}),
+ new $.fn.oembed.OEmbedProvider("clipsyndicate", "video", ["clipsyndicate\\.com/video/play/.+", "clipsyndicate\\.com/embed/iframe\?.+"], "http://eplayer.clipsyndicate.com/embed/iframe?pf_id=1&show_title=0&va_id=$1&windows=1", {templateRegex: [/.*www\.clipsyndicate\.com\/video\/play\/(\w+)\/.*/, /.*eplayer\.clipsyndicate\.com\/embed\/iframe\?.*va_id=(\w+).*.*/], embedtag: {tag: 'iframe', width: 480, height: 360 }, nocache: 1}),
+ new $.fn.oembed.OEmbedProvider("coub", "video", ["coub\\.com/.+"], "http://www.coub.com/embed/$1?muted=false&autostart=false&originalSize=false&hideTopBar=false&noSiteButtons=false&startWithHD=false", {templateRegex: [/.*coub\.com\/embed\/(\w+)\?*.*/, /.*coub\.com\/view\/(\w+).*/], embedtag: {tag: 'iframe', width: 480, height: 360 }, nocache: 1}),
+ new $.fn.oembed.OEmbedProvider("discoverychannel", "video", ["snagplayer\\.video\\.dp\\.discovery\\.com/.+"], "http://snagplayer.video.dp.discovery.com/$1/snag-it-player.htm?auto=no", {templateRegex: [/.*snagplayer\.video\.dp\.discovery\/(\w+).*/], embedtag: {tag: 'iframe', width: 480, height: 360 }}),
+ new $.fn.oembed.OEmbedProvider("telly", "video", ["telly\\.com/.+"], "http://www.telly.com/embed.php?guid=$1&autoplay=0", {templateRegex: [/.*telly\.com\/embed\.php\?guid=(\w+).*/, /.*telly\.com\/(\w+).*/], embedtag: {tag: 'iframe', width: 480, height: 360 }}),
+ new $.fn.oembed.OEmbedProvider("minilogs", "video", ["minilogs\\.com/.+"], "http://www.minilogs.com/e/$1", {templateRegex: [/.*minilogs\.com\/e\/(\w+).*/, /.*minilogs\.com\/(\w+).*/], embedtag: {tag: 'iframe', width: 480, height: 360 }, nocache: 1}),
+ new $.fn.oembed.OEmbedProvider("viddy", "video", ["viddy\\.com/.+"], "http://www.viddy.com/embed/video/$1", {templateRegex: [/.*viddy\.com\/embed\/video\/(\.*)/, /.*viddy\.com\/video\/(\.*)/], embedtag: {tag: 'iframe', width: 480, height: 360 }, nocache: 1}),
+ new $.fn.oembed.OEmbedProvider("worldstarhiphop", "video", ["worldstarhiphop\\.com\/embed/.+"], "http://www.worldstarhiphop.com/embed/$1", {templateRegex: /.*worldstarhiphop\.com\/embed\/(\w+).*/, embedtag: {tag: 'iframe', width: 480, height: 360 }, nocache: 1}),
+ new $.fn.oembed.OEmbedProvider("zapiks", "video", ["zapiks\\.fr\/.+"], "http://www.zapiks.fr/index.php?action=playerIframe&media_id=$1&autoStart=fals", {templateRegex: /.*zapiks\.fr\/index.php\?[\w\=\&]*media_id=(\w+).*/, embedtag: {tag: 'iframe', width: 480, height: 360 }, nocache: 1}),
+
+ //Audio
+ new $.fn.oembed.OEmbedProvider("official.fm", "rich", ["official.fm/.+"], 'http://official.fm/services/oembed', {useYQL: 'json'}),
+ new $.fn.oembed.OEmbedProvider("chirbit", "rich", ["chirb.it/.+"], 'http://chirb.it/oembed.json', {useYQL: 'json'}),
+ new $.fn.oembed.OEmbedProvider("chirbit", "audio", ["chirb\\.it/.+"], "http://chirb.it/wp/$1", {templateRegex: [/.*chirb\.it\/wp\/(\w+).*/, /.*chirb\.it\/(\w+).*/], embedtag: {tag: 'iframe', width: 480, height: 360 }, nocache: 1}),
+ new $.fn.oembed.OEmbedProvider("Huffduffer", "rich", ["huffduffer.com/[-.\\w@]+/\\d+"], "http://huffduffer.com/oembed"),
+ new $.fn.oembed.OEmbedProvider("Spotify", "rich", ["open.spotify.com/(track|album|user)/"], "https://embed.spotify.com/oembed/"),
+ new $.fn.oembed.OEmbedProvider("shoudio", "rich", ["shoudio.com/.+", "shoud.io/.+"], "http://shoudio.com/api/oembed"),
+ new $.fn.oembed.OEmbedProvider("mixcloud", "rich", ["mixcloud.com/.+"], 'http://www.mixcloud.com/oembed/', {useYQL: 'json'}),
+ new $.fn.oembed.OEmbedProvider("rdio.com", "rich", ["rd.io/.+", "rdio.com"], "http://www.rdio.com/api/oembed/"),
+ new $.fn.oembed.OEmbedProvider("Soundcloud", "rich", ["soundcloud.com/.+", "snd.sc/.+"], "//soundcloud.com/oembed", {format: 'js'}),
+ new $.fn.oembed.OEmbedProvider("bandcamp", "rich", ["bandcamp\\.com/album/.+"], null,
+ {
+ yql: {
+ xpath: "//meta[contains(@content, \\'EmbeddedPlayer\\')]",
+ from: 'html',
+ datareturn: function (results) {
+ return results.meta ? '' : false;
+ }
+ }
+ }),
+
+ //Photo
+ new $.fn.oembed.OEmbedProvider("deviantart", "photo", ["deviantart.com/.+", "fav.me/.+", "deviantart.com/.+"], "//backend.deviantart.com/oembed", {format: 'jsonp'}),
+ new $.fn.oembed.OEmbedProvider("skitch", "photo", ["skitch.com/.+"], null,
+ {
+ yql: {
+ xpath: "json",
+ from: 'json',
+ url: function (externalurl) {
+ return 'http://skitch.com/oembed/?format=json&url=' + externalurl
+ },
+ datareturn: function (data) {
+ return $.fn.oembed.getPhotoCode(data.json.url, data.json);
+ }
+ }
+ }),
+ new $.fn.oembed.OEmbedProvider("mobypicture", "photo", ["mobypicture.com/user/.+/view/.+", "moby.to/.+"], "http://api.mobypicture.com/oEmbed"),
+ new $.fn.oembed.OEmbedProvider("flickr", "photo", ["flickr\\.com/photos/.+"], "//flickr.com/services/oembed", {callbackparameter: 'jsoncallback'}),
+ new $.fn.oembed.OEmbedProvider("photobucket", "photo", ["photobucket\\.com/(albums|groups)/.+"], "http://photobucket.com/oembed/"),
+ new $.fn.oembed.OEmbedProvider("instagram", "photo", ["instagr\\.?am(\\.com)?/.+"], "//api.instagram.com/oembed"),
+ //new $.fn.oembed.OEmbedProvider("yfrog", "photo", ["yfrog\\.(com|ru|com\\.tr|it|fr|co\\.il|co\\.uk|com\\.pl|pl|eu|us)/.+"], "http://www.yfrog.com/api/oembed",{useYQL:"json"}),
+ new $.fn.oembed.OEmbedProvider("SmugMug", "photo", ["smugmug.com/[-.\\w@]+/.+"], "http://api.smugmug.com/services/oembed/"),
+ new $.fn.oembed.OEmbedProvider("dribbble", "photo", ["dribbble.com/shots/.+"], "http://api.dribbble.com/shots/$1?callback=?",
+ {
+ templateRegex: /.*shots\/([\d]+).*/,
+ templateData: function (data) {
+ if (!data.image_teaser_url) {
+ return false;
+ }
+ return '
';
+ }
+ }),
+ new $.fn.oembed.OEmbedProvider("chart.ly", "photo", ["chart\\.ly/[a-z0-9]{6,8}"], "http://chart.ly/uploads/large_$1.png",
+ {templateRegex: /.*ly\/([^\/]+).*/, embedtag: {tag: 'img'}, nocache: 1}),
+ //new $.fn.oembed.OEmbedProvider("stocktwits.com", "photo", ["stocktwits\\.com/message/.+"], "http://charts.stocktwits.com/production/original_$1.png?",
+ // { templateRegex: /.*message\/([^\/]+).*/, embedtag: { tag: 'img'},nocache:1 }),
+ new $.fn.oembed.OEmbedProvider("circuitlab", "photo", ["circuitlab.com/circuit/.+"], "https://www.circuitlab.com/circuit/$1/screenshot/540x405/",
+ {templateRegex: /.*circuit\/([^\/]+).*/, embedtag: {tag: 'img'}, nocache: 1}),
+ new $.fn.oembed.OEmbedProvider("23hq", "photo", ["23hq.com/[-.\\w@]+/photo/.+"], "http://www.23hq.com/23/oembed", {useYQL: "json"}),
+ new $.fn.oembed.OEmbedProvider("img.ly", "photo", ["img\\.ly/.+"], "//img.ly/show/thumb/$1",
+ {templateRegex: /.*ly\/([^\/]+).*/, embedtag: {tag: 'img'}, nocache: 1}),
+ new $.fn.oembed.OEmbedProvider("twitgoo.com", "photo", ["twitgoo\\.com/.+"], "http://twitgoo.com/show/thumb/$1",
+ {templateRegex: /.*com\/([^\/]+).*/, embedtag: {tag: 'img'}, nocache: 1}),
+ new $.fn.oembed.OEmbedProvider("imgur.com", "photo", ["imgur\\.com/gallery/.+"], "http://imgur.com/$1l.jpg",
+ {templateRegex: /.*gallery\/([^\/]+).*/, embedtag: {tag: 'img'}, nocache: 1}),
+ new $.fn.oembed.OEmbedProvider("visual.ly", "rich", ["visual\\.ly/.+"], null,
+ {
+ yql: {
+ xpath: "//a[@id=\\'gc_article_graphic_image\\']/img",
+ from: 'htmlstring'
+ }
+ }),
+ new $.fn.oembed.OEmbedProvider("gravtar", "photo", ["mailto:.+"], null,
+ {
+ templateRegex: /mailto:([^\/]+).*/,
+ template: function (wm, email) {
+ return '
';
+ }
+ }),
+ new $.fn.oembed.OEmbedProvider("achewood", "photo", ["achewood\\.com\\/index.php\\?date=.+"], "http://www.achewood.com/comic.php?date=$1", {templateRegex: /.*achewood\.com\/index.php\?date=(\w+).*/, embedtag: {tag: 'iframe', width: 480, height: 360 }, nocache: 1}),
+ new $.fn.oembed.OEmbedProvider("fotokritik", "photo", ["fotokritik\\.com/.+"], "http://www.fotokritik.com/embed/$1", {templateRegex: [/.*fotokritik\.com\/embed\/(\w+).*/, /.*fotokritik\.com\/(\w+).*/], embedtag: {tag: 'iframe', width: 480, height: 360 }, nocache: 1}),
+ new $.fn.oembed.OEmbedProvider("giflike", "photo", ["giflike\\.com/.+"], "http://www.giflike.com/embed/$1", {templateRegex: [/.*giflike\.com\/embed\/(\w+).*/, /.*giflike\.com\/a\/(\w+).*/], embedtag: {tag: 'iframe', width: 480, height: 360 }, nocache: 1}),
+
+ //Rich
+ new $.fn.oembed.OEmbedProvider("twitter", "rich", ["twitter.com/.+"], "https://api.twitter.com/1/statuses/oembed.json"),
+ new $.fn.oembed.OEmbedProvider("gmep", "rich", ["gmep.imeducate.com/.*", "gmep.org/.*"], "http://gmep.org/oembed.json"),
+ new $.fn.oembed.OEmbedProvider("urtak", "rich", ["urtak.com/(u|clr)/.+"], "http://oembed.urtak.com/1/oembed"),
+ new $.fn.oembed.OEmbedProvider("cacoo", "rich", ["cacoo.com/.+"], "http://cacoo.com/oembed.json"),
+ new $.fn.oembed.OEmbedProvider("dailymile", "rich", ["dailymile.com/people/.*/entries/.*"], "http://api.dailymile.com/oembed"),
+ new $.fn.oembed.OEmbedProvider("dipity", "rich", ["dipity.com/timeline/.+"], 'http://www.dipity.com/oembed/timeline/', {useYQL: 'json'}),
+ new $.fn.oembed.OEmbedProvider("sketchfab", "rich", ["sketchfab.com/show/.+"], 'http://sketchfab.com/oembed', {useYQL: 'json'}),
+ new $.fn.oembed.OEmbedProvider("speakerdeck", "rich", ["speakerdeck.com/.+"], 'http://speakerdeck.com/oembed.json', {useYQL: 'json'}),
+ new $.fn.oembed.OEmbedProvider("popplet", "rich", ["popplet.com/app/.*"], "http://popplet.com/app/Popplet_Alpha.swf?page_id=$1&em=1",
+ {
+ templateRegex: /.*#\/([^\/]+).*/,
+ embedtag: {
+ width: 460,
+ height: 460
+ }
+ }),
+
+ new $.fn.oembed.OEmbedProvider("pearltrees", "rich", ["pearltrees.com/.*"], "http://cdn.pearltrees.com/s/embed/getApp?",
+ {
+ templateRegex: /.*N-f=1_(\d+).*N-p=(\d+).*/,
+ embedtag: {
+ width: 460,
+ height: 460,
+ flashvars: "lang=en_US&embedId=pt-embed-$1-693&treeId=$1&pearlId=$2&treeTitle=Diagrams%2FVisualization&site=www.pearltrees.com%2FF"
+ }
+ }),
+
+ new $.fn.oembed.OEmbedProvider("prezi", "rich", ["prezi.com/.*"], "//prezi.com/bin/preziloader.swf?",
+ {
+ templateRegex: /.*com\/([^\/]+)\/.*/,
+ embedtag: {
+ width: 550,
+ height: 400,
+ flashvars: "prezi_id=$1&lock_to_path=0&color=ffffff&autoplay=no&autohide_ctrls=0"
+ }
+ }),
+
+ new $.fn.oembed.OEmbedProvider("tourwrist", "rich", ["tourwrist.com/tours/.+"], null,
+ {
+ templateRegex: /.*tours.([\d]+).*/,
+ template: function (wm, tourid) {
+ setTimeout(function () {
+ if (loadEmbeds)loadEmbeds();
+ }, 2000);
+ return " ";
+ }
+ }),
+
+ new $.fn.oembed.OEmbedProvider("meetup", "rich", ["meetup\\.(com|ps)/.+"], "http://api.meetup.com/oembed"),
+ new $.fn.oembed.OEmbedProvider("ebay", "rich", ["ebay\\.*"], "http://togo.ebay.com/togo/togo.swf?2008013100",
+ {
+ templateRegex: /.*\/([^\/]+)\/(\d{10,13}).*/,
+ embedtag: {
+ width: 355,
+ height: 300,
+ flashvars: "base=http://togo.ebay.com/togo/&lang=en-us&mode=normal&itemid=$2&query=$1"
+ }
+ }),
+ new $.fn.oembed.OEmbedProvider("wikipedia", "rich", ["wikipedia.org/wiki/.+"], "http://$1.wikipedia.org/w/api.php?action=parse&page=$2&format=json§ion=0&callback=?", {
+ templateRegex: /.*\/\/([\w]+).*\/wiki\/([^\/]+).*/,
+ templateData: function (data) {
+ if (!data.parse)
+ return false;
+ var text = data.parse['text']['*'].replace(/href="\/wiki/g, 'href="http://en.wikipedia.org/wiki');
+ return '';
}
- if(results['og:title']) code.append(''+results['og:title']+'
');
- if(results['og:description'])
- code.append(results['og:description']+'
');
- else if(results['description'])
- code.append(results['description']+'
');
- return code;
- }
- }
- })
+ }),
+ new $.fn.oembed.OEmbedProvider("imdb", "rich", ["imdb.com/title/.+"], "http://www.imdbapi.com/?i=$1&callback=?",
+ {
+ templateRegex: /.*\/title\/([^\/]+).*/,
+ templateData: function (data) {
+ if (!data.Title)
+ return false;
+ return 'Rating: ' + data.imdbRating + '
Genre: ' + data.Genre + '
Starring: ' + data.Actors + '
' + data.Plot + '
';
+ }
+ }),
+ new $.fn.oembed.OEmbedProvider("livejournal", "rich", ["livejournal.com/"], "http://ljpic.seacrow.com/json/$2$4?jsonp=?"
+ , {
+ templateRegex: /(http:\/\/(((?!users).)+)\.livejournal\.com|.*users\.livejournal\.com\/([^\/]+)).*/,
+ templateData: function (data) {
+ if (!data.username)
+ return false;
+ return '';
+ }
+ }),
+ new $.fn.oembed.OEmbedProvider("circuitbee", "rich", ["circuitbee\\.com/circuit/view/.+"], "http://c.circuitbee.com/build/r/schematic-embed.html?id=$1",
+ {
+ templateRegex: /.*circuit\/view\/(\d+).*/,
+ embedtag: {
+ tag: 'iframe',
+ width: '500',
+ height: '350'
+ }
+ }),
+
+ new $.fn.oembed.OEmbedProvider("googlecalendar", "rich", ["www.google.com/calendar/embed?.+"], "$1",
+ {templateRegex: /(.*)/, embedtag: {tag: 'iframe', width: '800', height: '600' }}),
+ new $.fn.oembed.OEmbedProvider("jsfiddle", "rich", ["jsfiddle.net/[^/]+/?"], "http://jsfiddle.net/$1/embedded/result,js,resources,html,css/?",
+ {templateRegex: /.*net\/([^\/]+).*/, embedtag: {tag: 'iframe', width: '100%', height: '300' }}),
+ new $.fn.oembed.OEmbedProvider("jsbin", "rich", ["jsbin.com/.+"], "http://jsbin.com/$1/?",
+ {templateRegex: /.*com\/([^\/]+).*/, embedtag: {tag: 'iframe', width: '100%', height: '300' }}),
+ new $.fn.oembed.OEmbedProvider("jotform", "rich", ["form.jotform.co/form/.+"], "$1?",
+ {templateRegex: /(.*)/, embedtag: {tag: 'iframe', width: '100%', height: '507' }}),
+ new $.fn.oembed.OEmbedProvider("reelapp", "rich", ["reelapp\\.com/.+"], "http://www.reelapp.com/$1/embed",
+ {templateRegex: /.*com\/(\S{6}).*/, embedtag: {tag: 'iframe', width: '400', height: '338'}}),
+ new $.fn.oembed.OEmbedProvider("linkedin", "rich", ["linkedin.com/pub/.+"], "https://www.linkedin.com/cws/member/public_profile?public_profile_url=$1&format=inline&isFramed=true",
+ {templateRegex: /(.*)/, embedtag: {tag: 'iframe', width: '368px', height: 'auto'}}),
+ new $.fn.oembed.OEmbedProvider("timetoast", "rich", ["timetoast.com/timelines/[0-9]+"], "http://www.timetoast.com/flash/TimelineViewer.swf?passedTimelines=$1",
+ {templateRegex: /.*timelines\/([0-9]*)/, embedtag: { width: 550, height: 400}, nocache: 1}),
+ new $.fn.oembed.OEmbedProvider("pastebin", "rich", ["pastebin\\.com/[\\S]{8}"], "http://pastebin.com/embed_iframe.php?i=$1",
+ {templateRegex: /.*\/(\S{8}).*/, embedtag: {tag: 'iframe', width: '100%', height: 'auto'}}),
+ new $.fn.oembed.OEmbedProvider("mixlr", "rich", ["mixlr.com/.+"], "http://mixlr.com/embed/$1?autoplay=ae",
+ {templateRegex: /.*com\/([^\/]+).*/, embedtag: {tag: 'iframe', width: '100%', height: 'auto' }}),
+ new $.fn.oembed.OEmbedProvider("pastie", "rich", ["pastie\\.org/pastes/.+"], null, {yql: {xpath: '//pre[@class="textmate-source"]'}}),
+ new $.fn.oembed.OEmbedProvider("github", "rich", ["gist.github.com/.+"], "https://github.com/api/oembed"),
+ new $.fn.oembed.OEmbedProvider("github", "rich", ["github.com/[-.\\w@]+/[-.\\w@]+"], "https://api.github.com/repos/$1/$2?callback=?"
+ , {templateRegex: /.*\/([^\/]+)\/([^\/]+).*/,
+ templateData: function (data) {
+ if (!data.data.html_url)return false;
+ return '' + data.data.description + '
'
+ + '
Last updated: ' + data.data.pushed_at + '
';
+ }
+ }),
+ new $.fn.oembed.OEmbedProvider("facebook", "rich", ["facebook.com"], null
+ , {templateRegex: /.*\/([^\/]+)\/([^\/]+).*/,
+ template: function (url) {
+ // adding script directly to DOM to make sure that it is loaded correctly.
+ if (!$.fn.oembed.facebokScriptHasBeenAdded) {
+ $('').appendTo('body');
+ var script = document.createElement('script');
+ script.type = 'text/javascript';
+ script.text = '(function(d, s, id) {var js, fjs = d.getElementsByTagName(s)[0];if (d.getElementById(id)) return;js = d.createElement(s); js.id = id;js.src = "//connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.0";fjs.parentNode.insertBefore(js, fjs);}(document, "script", "facebook-jssdk"));';
+ document.body.appendChild(script);
+ $.fn.oembed.facebokScriptHasBeenAdded = true;
+ }
+
+ // returning template with url of facebook post.
+ return '';
+
+ }
+ }),
+ /*
+ // Saving old implementation of Facebook in case we will need it as example in the future.
+ new $.fn.oembed.OEmbedProvider("facebook", "rich", ["facebook.com/(people/[^\\/]+/\\d+|[^\\/]+$)"], "https://graph.facebook.com/$2$3/?callback=?"
+ ,{templateRegex:/.*facebook.com\/(people\/[^\/]+\/(\d+).*|([^\/]+$))/,
+ templateData : function(data){ if(!data.id)return false;
+ var out = '';
+ if(data.picture) out += '

';
+ else out += '

';
+ if(data.from) out += '
'+data.name+'';
+ if(data.founded) out += 'Founded:
'+data.founded+'';
+ if(data.category) out += 'Category:
'+data.category+'';
+ if(data.website) out += 'Website:
'+data.website+'';
+ if(data.gender) out += 'Gender:
'+data.gender+'';
+ if(data.description) out += data.description + '
';
+ out += '
';
+ return out;
+ }
+ }),
+ */
+ new $.fn.oembed.OEmbedProvider("stackoverflow", "rich", ["stackoverflow.com/questions/[\\d]+"], "http://api.stackoverflow.com/1.1/questions/$1?body=true&jsonp=?"
+ , {templateRegex: /.*questions\/([\d]+).*/,
+ templateData: function (data) {
+ if (!data.questions)
+ return false;
+ var q = data.questions[0];
+ var body = $(q.body).text();
+ var out = '
'
+ + '
' + (q.up_vote_count - q.down_vote_count) + 'vote(s)
'
+ + '
' + q.answer_count + 'answer
' + q.view_count + ' view(s)
'
+ + '
'
+ + '
' + body.substring(0, 100) + '...
';
+ return out;
+ }
+ }),
+ new $.fn.oembed.OEmbedProvider("wordpress", "rich", ["wordpress\\.com/.+", "blogs\\.cnn\\.com/.+", "techcrunch\\.com/.+", "wp\\.me/.+"], "http://public-api.wordpress.com/oembed/1.0/?for=jquery-oembed-all"),
+ new $.fn.oembed.OEmbedProvider("screenr", "rich", ["screenr\.com"], "http://www.screenr.com/embed/$1",
+ {templateRegex: /.*\/([^\/]+).*/, embedtag: {tag: 'iframe', width: '650', height: 396}}) ,
+ new $.fn.oembed.OEmbedProvider("gigpans", "rich", ["gigapan\\.org/[-.\\w@]+/\\d+"], "http://gigapan.org/gigapans/$1/options/nosnapshots/iframe/flash.html",
+ {templateRegex: /.*\/(\d+)\/?.*/, embedtag: {tag: 'iframe', width: '100%', height: 400 }}),
+ new $.fn.oembed.OEmbedProvider("scribd", "rich", ["scribd\\.com/.+"], "http://www.scribd.com/embeds/$1/content?start_page=1&view_mode=list",
+ {templateRegex: /.*doc\/([^\/]+).*/, embedtag: {tag: 'iframe', width: '100%', height: 600}}),
+ new $.fn.oembed.OEmbedProvider("kickstarter", "rich", ["kickstarter\\.com/projects/.+"], "$1/widget/card.html",
+ {templateRegex: /([^\?]+).*/, embedtag: {tag: 'iframe', width: '220', height: 380}}),
+ new $.fn.oembed.OEmbedProvider("amazon", "rich", ["amzn.com/B+", "amazon.com.*/(B\\S+)($|\\/.*)"], "http://rcm.amazon.com/e/cm?t=_APIKEY_&o=1&p=8&l=as1&asins=$1&ref=qf_br_asin_til&fc1=000000&IS2=1<1=_blank&m=amazon&lc1=0000FF&bc1=000000&bg1=FFFFFF&f=ifr",
+ {
+ apikey: true,
+ templateRegex: /.*\/(B[0-9A-Z]+)($|\/.*)/,
+ embedtag: {
+ tag: 'iframe',
+ width: '120px',
+ height: '240px'}
+ }),
+ new $.fn.oembed.OEmbedProvider("slideshare", "rich", ["slideshare\.net"], "//www.slideshare.net/api/oembed/2", {format: 'jsonp'}),
+ new $.fn.oembed.OEmbedProvider("roomsharejp", "rich", ["roomshare\\.jp/(en/)?post/.*"], "http://roomshare.jp/oembed.json"),
+ new $.fn.oembed.OEmbedProvider("lanyard", "rich", ["lanyrd.com/\\d+/.+"], null,
+ {
+ yql: {
+ xpath: '(//div[@class="primary"])[1]',
+ from: 'htmlstring',
+ datareturn: function (results) {
+ if (!results.result)
+ return false;
+ return '
' + results.result + '
';
+ }
+ }
+ }),
+ new $.fn.oembed.OEmbedProvider("asciiartfarts", "rich", ["asciiartfarts.com/\\d+.html"], null,
+ {
+ yql: {
+ xpath: '//pre/font',
+ from: 'htmlstring',
+ datareturn: function (results) {
+ if (!results.result)
+ return false;
+ return '
' + results.result + '
';
+ }
+ }
+ }),
+ new $.fn.oembed.OEmbedProvider("coveritlive", "rich", ["coveritlive.com/"], null, {
+ templateRegex: /(.*)/,
+ template: ''}),
+ new $.fn.oembed.OEmbedProvider("polldaddy", "rich", ["polldaddy.com/"], null, {
+ templateRegex: /(?:https?:\/\/w?w?w?.?polldaddy.com\/poll\/)([0-9]*)\//,
+ template: '',
+ nocache: 1
+ }),
+ new $.fn.oembed.OEmbedProvider("360io", "rich", ["360\\.io/.+"], "http://360.io/$1", {templateRegex: /.*360\.io\/(\w+).*/, embedtag: {tag: 'iframe', width: 480, height: 360 }, nocache: 1}),
+ new $.fn.oembed.OEmbedProvider("bubbli", "rich", ["on\\.bubb\\.li/.+"], "http://on.bubb.li/$1", {templateRegex: /.*on\.bubb\.li\/(\w+).*/, embedtag: {tag: 'iframe', width: 480, height: 360}, nocache: 1 }),
+ new $.fn.oembed.OEmbedProvider("cloudup", "rich", ["cloudup\\.com/.+"], "http://cloudup.com/$1?chromeless", {templateRegex: [/.*cloudup\.com\/(\w+).*/], embedtag: {tag: 'iframe', width: 480, height: 360 }}),
+ new $.fn.oembed.OEmbedProvider("codepen", "rich", ["codepen.io/.+"], "http://codepen.io/$1/embed/$2", {templateRegex: [/.*io\/(\w+)\/pen\/(\w+).*/, /.*io\/(\w+)\/full\/(\w+).*/], embedtag: {tag: 'iframe', width: '100%', height: '300'}, nocache: 1 }),
+ new $.fn.oembed.OEmbedProvider("googleviews", "rich", ["(.*maps\\.google\\.com\\/maps\\?).+(output=svembed).+(cbp=(.*)).*"], "https://maps.google.com/maps?layer=c&panoid=$3&ie=UTF8&source=embed&output=svembed&cbp=$5", {templateRegex: /(.*maps\.google\.com\/maps\?).+(panoid=(\w+)&).*(cbp=(.*)).*/, embedtag: {tag: 'iframe', width: 480, height: 360}, nocache: 1 }),
+ new $.fn.oembed.OEmbedProvider("googlemaps", "rich", ["google\\.com\/maps\/place/.+"], "http://maps.google.com/maps?t=m&q=$1&output=embed", {templateRegex: /.*google\.com\/maps\/place\/([\w\+]*)\/.*/, embedtag: {tag: 'iframe', width: 480, height: 360 }, nocache: 1}),
+ new $.fn.oembed.OEmbedProvider("imajize", "rich", ["embed\\.imajize\\.com/.+"], "http://embed.imajize.com/$1", {templateRegex: /.*embed\.imajize\.com\/(.*)/, embedtag: {tag: 'iframe', width: 480, height: 360 }, nocache: 1}),
+ new $.fn.oembed.OEmbedProvider("mapjam", "rich", ["mapjam\\.com/.+"], "http://www.mapjam.com/$1", {templateRegex: /.*mapjam\.com\/(.*)/, embedtag: {tag: 'iframe', width: 480, height: 360 }, nocache: 1}),
+ new $.fn.oembed.OEmbedProvider("polar", "rich", ["polarb\\.com/.+"], "http://assets-polarb-com.a.ssl.fastly.net/api/v4/publishers/unknown/embedded_polls/iframe?poll_id=$1", {templateRegex: /.*polarb\.com\/polls\/(\w+).*/, embedtag: {tag: 'iframe', width: 480, height: 360 }, nocache: 1}),
+ new $.fn.oembed.OEmbedProvider("ponga", "rich", ["ponga\\.com/.+"], "https://www.ponga.com/embedded?id=$1", {templateRegex: [/.*ponga\.com\/embedded\?id=(\w+).*/, /.*ponga\.com\/(\w+).*/], embedtag: {tag: 'iframe', width: 480, height: 360 }, nocache: 1}),
+
+ //Use Open Graph Where applicable
+ new $.fn.oembed.OEmbedProvider("opengraph", "rich", [".*"], null,
+ {
+ yql: {
+ xpath: "//meta|//title|//link",
+ from: 'html',
+ datareturn: function (results) {
+ if (!results['og:title'] && results['title'] && results['description'])
+ results['og:title'] = results['title'];
+
+ if (!results['og:title'] && !results['title'])
+ return false;
+
+ var code = $('');
+ if (results['og:video']) {
+ var embed = $('');
+ embed.attr('type', results['og:video:type'] || "application/x-shockwave-flash")
+ .css('max-height', settings.maxHeight || 'auto')
+ .css('max-width', settings.maxWidth || 'auto');
+ if (results['og:video:width'])
+ embed.attr('width', results['og:video:width']);
+ if (results['og:video:height'])
+ embed.attr('height', results['og:video:height']);
+ code.append(embed);
+ } else if (results['og:image']) {
+ var img = $('
');
+ img.css('max-height', settings.maxHeight || 'auto').css('max-width', settings.maxWidth || 'auto');
+ if (results['og:image:width'])
+ img.attr('width', results['og:image:width']);
+ if (results['og:image:height'])
+ img.attr('height', results['og:image:height']);
+ code.append(img);
+ }
+
+ if (results['og:title'])
+ code.append('' + results['og:title'] + '
');
+
+ if (results['og:description'])
+ code.append(results['og:description'] + '
');
+ else if (results['description'])
+ code.append(results['description'] + '
');
+
+ return code;
+ }
+ }
+ }
+ )
];
})(jQuery);
-
//This is needed for gravatar :(
-String.prototype.md5=function(){var a=function(a,b){var c=(a&65535)+(b&65535);var d=(a>>16)+(b>>16)+(c>>16);return d<<16|c&65535};var b=function(a,b){return a<>>32-b};var c=function(c,d,e,f,g,h){return a(b(a(a(d,c),a(f,h)),g),e)};var d=function(a,b,d,e,f,g,h){return c(b&d|~b&e,a,b,f,g,h)};var e=function(a,b,d,e,f,g,h){return c(b&e|d&~e,a,b,f,g,h)};var f=function(a,b,d,e,f,g,h){return c(b^d^e,a,b,f,g,h)};var g=function(a,b,d,e,f,g,h){return c(d^(b|~e),a,b,f,g,h)};var h=function(b){var c,h,i,j,k,l=b.length;var m=1732584193;var n=-271733879;var o=-1732584194;var p=271733878;for(k=0;k>2]>>d%4*8+4&15)+b.charAt(a[d>>2]>>d%4*8&15)}return c};var j=function(a){var b=(a.length+8>>6)+1;var c=[],d,e=b*16,f,g=a.length;for(d=0;d>2]|=(a.charCodeAt(f)&255)<>2]|=128<>16)+(b>>16)+(c>>16);return d<<16|c&65535};var b=function(a,b){return a<>>32-b};var c=function(c,d,e,f,g,h){return a(b(a(a(d,c),a(f,h)),g),e)};var d=function(a,b,d,e,f,g,h){return c(b&d|~b&e,a,b,f,g,h)};var e=function(a,b,d,e,f,g,h){return c(b&e|d&~e,a,b,f,g,h)};var f=function(a,b,d,e,f,g,h){return c(b^d^e,a,b,f,g,h)};var g=function(a,b,d,e,f,g,h){return c(d^(b|~e),a,b,f,g,h)};var h=function(b){var c,h,i,j,k,l=b.length;var m=1732584193;var n=-271733879;var o=-1732584194;var p=271733878;for(k=0;k>2]>>d%4*8+4&15)+b.charAt(a[d>>2]>>d%4*8&15)}return c};var j=function(a){var b=(a.length+8>>6)+1;var c=[],d,e=b*16,f,g=a.length;for(d=0;d>2]|=(a.charCodeAt(f)&255)<>2]|=128<