Skip to content

Commit 56d8432

Browse files
committed
perf: embed exclusion array added
1 parent 8c54674 commit 56d8432

4 files changed

Lines changed: 62 additions & 104 deletions

File tree

README.md

Lines changed: 9 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -144,27 +144,11 @@ $('#element').embedJS({
144144
//Supported Languages listed here (https://dev.twitter.com/web/overview/languages)
145145
lang : 'en'
146146
},
147-
//set false to embed codepen
148-
codepenEmbed :true,
149-
//codepen height (width can be adjusted by css)
150-
codepenHeight :300,
151-
//set false to embed jsfiddle
152-
jsfiddleEmbed :true,
153-
//jsfiddle height (width can be adjusted by css)
154-
jsfiddleHeight :300,
155-
//set false to embed jsbin
156-
jsbinEmbed :true,
157-
//jsbin height (width can be adjusted by css)
158-
jsbinHeight :300,
159-
//set false to embed ideone
160-
ideoneEmbed :true,
161-
//ideone height (width can be adjusted by css)
162-
ideoneHeight :300,
163-
plunkerEmbed :true,
164-
plunkerHeight :300,
165-
spotifyEmbed :true,
166-
//set false to embed soundcloud
167-
soundCloudEmbed : true,
147+
//An array of services excluded from embedding...
148+
//Options : codePen/jdFiddle/jsBin/ideone/plunker/soundcloud/twitchTv/dotSub/dailymotion/vine/ted/liveleak/spotify
149+
excludeEmbed :['twitchTv'],
150+
//Height of jsfiddle/codepen/jsbin/ideone/plunker
151+
codeEmbedHeight :300,
168152
soundCloudOptions: {
169153
height : 160,
170154
themeColor : 'f50000', //Hex Code of the player theme color
@@ -176,16 +160,10 @@ $('#element').embedJS({
176160
visual : false, //Show/hide the big preview image
177161
download : false //Show/Hide download buttons
178162
},
179-
twitchtvEmbed :true,
180-
dotsubEmbed :true,
181-
dailymotionEmbed :true,
182-
vineEmbed : true,
183163
vineOptions:{
184164
width:500,
185165
type:'postcard' //'postcard' or 'simple' embedding
186166
},
187-
tedEmbed :true,
188-
liveleakEmbed :true,
189167
//callback before pdf preview
190168
beforePdfPreview : function(){},
191169
//callback after pdf preview
@@ -205,6 +183,10 @@ Examples
205183

206184
Visit [http://rkritesh.in/embed-js](http://rkritesh.in/embed-js)
207185

186+
Version 2.0.3
187+
-------------
188+
* Better options structure
189+
208190
Version 2.0.2
209191
-------------
210192
* Ideone and plunker support added

dist/jquery.embed.js

Lines changed: 26 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* embed-js - v2.0.1
2+
* embed-js - v2.0.2
33
* A jQuery plugin for converting text emojis into image-based emoticons, also supporting an automatic media embedding system for multimedia URLs
44
*
55
*
@@ -142,18 +142,8 @@
142142
lang : 'en' //Request returned HTML and a rendered Tweet in the specified
143143
// (https://dev.twitter.com/web/overview/languages)
144144
},
145-
codepenEmbed : true,
146-
codepenHeight : 300,
147-
jsfiddleEmbed : true,
148-
jsfiddleHeight : 300,
149-
jsbinEmbed : true,
150-
jsbinHeight : 300,
151-
ideoneEmbed : true,
152-
ideoneHeight : 300,
153-
plunkerEmbed : true,
154-
plunkerHeight : 300,
155-
spotifyEmbed : true,
156-
soundCloudEmbed : true,
145+
excludeEmbed :['twitchTv'],
146+
codeEmbedHeight :300,
157147
soundCloudOptions: {
158148
height : 160, themeColor: 'f50000', //Hex Code of the player theme color
159149
autoPlay : false,
@@ -164,16 +154,10 @@
164154
visual : false, //Show/hide the big preview image
165155
download : false //Show/Hide download buttons
166156
},
167-
twitchtvEmbed : true,
168-
dotsubEmbed : true,
169-
dailymotionEmbed : true,
170-
vineEmbed : true,
171157
vineOptions : {
172158
width: 500,
173159
type : 'postcard' //'postcard' or 'simple' embedding
174160
},
175-
tedEmbed : true,
176-
liveleakEmbed : true,
177161
beforePdfPreview : function () { //callback before pdf preview
178162
},
179163
afterPdfPreview : function () { //callback after pdf preview
@@ -697,7 +681,7 @@
697681
if (matches) {
698682
var i = 0;
699683
while (i < matches.length) {
700-
str = str + '<div class="ejs-embed ejs-codepen"><iframe scrolling="no" height="' + opts.codepenHeight + '" src="' + matches[i].replace(/\/pen\//, '/embed/') + '/?height=' + opts.codepenHeight + '" frameborder="no" allowtransparency="true" allowfullscreen="true"></iframe></div>';
684+
str = str + '<div class="ejs-embed ejs-codepen"><iframe scrolling="no" height="' + opts.codeEmbedHeight + '" src="' + matches[i].replace(/\/pen\//, '/embed/') + '/?height=' + opts.codepenHeight + '" frameborder="no" allowtransparency="true" allowfullscreen="true"></iframe></div>';
701685
i++;
702686
}
703687
}
@@ -710,7 +694,7 @@
710694
if (matches) {
711695
var i = 0;
712696
while (i < matches.length) {
713-
str = str + '<div class="ejs-embed ejs-jsfiddle"><iframe height="' + opts.jsfiddleHeight + '" src="http://' + matches[i] + '/embedded"></iframe></div>';
697+
str = str + '<div class="ejs-embed ejs-jsfiddle"><iframe height="' + opts.codeEmbedHeight + '" src="http://' + matches[i] + '/embedded"></iframe></div>';
714698
i++;
715699
}
716700
}
@@ -723,7 +707,7 @@
723707
if (matches) {
724708
var i = 0;
725709
while (i < matches.length) {
726-
str = str + '<div class="ejs-jsbin ejs-embed"><iframe height="' + opts.jsbinHeight + '" class="jsbin-embed foo" src="http://' + matches[i] + '/embed?html,js,output">Simple Animation Tests</iframe></div>';
710+
str = str + '<div class="ejs-jsbin ejs-embed"><iframe height="' + opts.codeEmbedHeight + '" class="jsbin-embed foo" src="http://' + matches[i] + '/embed?html,js,output">Simple Animation Tests</iframe></div>';
727711
i++;
728712
}
729713
}
@@ -736,8 +720,7 @@
736720
if (matches) {
737721
var i = 0;
738722
while (i < matches.length) {
739-
console.log(matches[i]);
740-
str = str + '<div class="ejs-ideone ejs-embed"><iframe src="http://ideone.com/embed/' + matches[i].split('/')[1] + '" frameborder="0" height="' + opts.ideoneHeight + '"></iframe></div>';
723+
str = str + '<div class="ejs-ideone ejs-embed"><iframe src="http://ideone.com/embed/' + matches[i].split('/')[1] + '" frameborder="0" height="' + opts.codeEmbedHeight + '"></iframe></div>';
741724
i++;
742725
}
743726
}
@@ -751,7 +734,7 @@
751734
var i = 0;
752735
while (i < matches.length) {
753736
var idMatch = (matches[i].indexOf('?') === -1) ? (matches[i].split('/')[2]) : (matches[i].split('/')[2].split('?')[0]);
754-
str = str + '<div class="ejs-embed ejs-plunker"><iframe class="ne-plunker" src="http://embed.plnkr.co/' + idMatch + '" height="' + opts.plunkerHeight + '"></iframe></div>';
737+
str = str + '<div class="ejs-embed ejs-plunker"><iframe class="ne-plunker" src="http://embed.plnkr.co/' + idMatch + '" height="' + opts.codeEmbedHeight + '"></iframe></div>';
755738
i++;
756739
}
757740
}
@@ -788,6 +771,11 @@
788771

789772
var rawInput = input;
790773

774+
var ifEmbed = function(serviceName){
775+
return ($.inArray(serviceName,settings.excludeEmbed)==-1);
776+
};
777+
778+
791779
input = (settings.link) ? urlEmbed(input) : input;
792780
input = emoticonProcess.insertfontSmiley(input);
793781
input = emoticonProcess.insertEmoji(input);
@@ -796,19 +784,19 @@
796784
input = (settings.highlightCode) ? codeProcess.highlight(input) : input;
797785
input = (settings.basicVideoEmbed) ? videoProcess.embedBasic(rawInput, input) : input;
798786
input = (settings.imageEmbed) ? imageProcess.embed(rawInput, input) : input;
799-
input = (settings.codepenEmbed) ? codeEmbedProcess.codepenEmbed(rawInput, input, settings) : input;
800-
input = (settings.jsfiddleEmbed) ? codeEmbedProcess.jsfiddleEmbed(rawInput, input, settings) : input;
801-
input = (settings.jsbinEmbed) ? codeEmbedProcess.jsbinEmbed(rawInput, input, settings) : input;
802-
input = (settings.ideoneEmbed) ? codeEmbedProcess.ideoneEmbed(rawInput, input, options) : input;
803-
input = (settings.plunkerEmbed) ? codeEmbedProcess.plunkerEmbed(rawInput, input, options) : input;
804-
input = (settings.soundCloudEmbed) ? audioProcess.soundCloudEmbed(rawInput, input, settings) : input;
805-
input = (settings.twitchtvEmbed) ? videoProcess.twitchtvEmbed(rawInput, input, settings) : input;
806-
input = (settings.dotsubEmbed) ? videoProcess.dotsubEmbed(rawInput, input, settings) : input;
807-
input = (settings.dailymotionEmbed) ? videoProcess.dailymotionEmbed(rawInput, input, settings) : input;
808-
input = (settings.vineEmbed) ? videoProcess.vineEmbed(rawInput, input, settings) : input;
809-
input = (settings.tedEmbed) ? videoProcess.tedEmbed(rawInput, input, settings) : input;
810-
input = (settings.liveleakEmbed) ? videoProcess.liveleakEmbed(rawInput, input, settings) : input;
811-
input = (settings.spotifyEmbed) ? audioProcess.spotifyEmbed(rawInput, input, settings) : input;
787+
input = (ifEmbed('codePen')) ? codeEmbedProcess.codepenEmbed(rawInput, input, settings) : input;
788+
input = (ifEmbed('jsFiddle')) ? codeEmbedProcess.jsfiddleEmbed(rawInput, input, settings) : input;
789+
input = (ifEmbed('jsbin')) ? codeEmbedProcess.jsbinEmbed(rawInput, input, settings) : input;
790+
input = (ifEmbed('ideone')) ? codeEmbedProcess.ideoneEmbed(rawInput, input, options) : input;
791+
input = (ifEmbed('plunker')) ? codeEmbedProcess.plunkerEmbed(rawInput, input, options) : input;
792+
input = (ifEmbed('soundcloud')) ? audioProcess.soundCloudEmbed(rawInput, input, settings) : input;
793+
input = (ifEmbed('twitchTv')) ? videoProcess.twitchtvEmbed(rawInput, input, settings) : input;
794+
input = (ifEmbed('dotSub')) ? videoProcess.dotsubEmbed(rawInput, input, settings) : input;
795+
input = (ifEmbed('dailymotion')) ? videoProcess.dailymotionEmbed(rawInput, input, settings) : input;
796+
input = (ifEmbed('vine')) ? videoProcess.vineEmbed(rawInput, input, settings) : input;
797+
input = (ifEmbed('ted')) ? videoProcess.tedEmbed(rawInput, input, settings) : input;
798+
input = (ifEmbed('liveLeak')) ? videoProcess.liveleakEmbed(rawInput, input, settings) : input;
799+
input = (ifEmbed('spotify')) ? audioProcess.spotifyEmbed(rawInput, input, settings) : input;
812800
input = (settings.locationEmbed) ? mapProcess.locationEmbed(rawInput, input, settings) : input;
813801

814802
videoProcess.embed(input, settings).then(function (d) {

0 commit comments

Comments
 (0)