Skip to content

Commit 7986722

Browse files
committed
feat: liveleak support added #7
1 parent 4228ec0 commit 7986722

5 files changed

Lines changed: 58 additions & 17 deletions

File tree

README.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,14 @@ Features
88

99
* Converts emoticon text codes into emoticons :smile: , :heart:
1010
* Finds links in text input and turns them into html links.
11-
* Youtube and Vimeo video embedding
11+
* Youtube and Vimeo video embedding with video details fetched from the api.
1212
* HTML5 player supported media embedding (mp3,mp4,ogg)
1313
* PDF viewing with preview and then the actual pdf in a frame.
1414
* Inline Code Syntax highlighting (uses highlight.js)
1515
* Twitter tweet embedding supported
1616
* Codepen, jsbin, jsfiddle embed supported
1717
* soundcloud support
18-
* Twitch tv, dotSub, dailymotion, vine,TED support.
18+
* Twitch tv, dotSub, dailymotion, vine,TED and liveLeak support.
1919

2020
Dependencies
2121
------------
@@ -148,6 +148,7 @@ $('#element').emoticons({
148148
vineWidth : 500,
149149
vineType : 'postcard', //'postcard' or 'simple' embedding
150150
tedEmbed :true,
151+
liveleakEmbed :true,
151152
//callback before pdf preview
152153
beforePdfPreview : function(){},
153154
//callback after pdf preview

demo/index.html

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,12 @@
3030
<h1>emoticons-js</h1>
3131

3232
<div id="element">
33+
<h3>Live Leak Support</h3>
34+
35+
<div>Vae.Ecce.Ubi est albus tabes?Crescere satis ducunt ad barbatus verpa.Observare foris ducunt ad barbatus scutum.
36+
http://www.liveleak.com/view?i=42a_1426999994 Valebat audax verpa est.Burgus de brevis frondator, imperium
37+
animalis!Quadras sunt fidess de clemens navis.
38+
</div>
3339
<h3>TED support</h3>
3440

3541
<div>Ubi est teres palus?Secundus lacteas ducunt ad valebat.Speciess assimilant in magnum hortus!
@@ -162,3 +168,5 @@ <h3>Media file support</h3>
162168
</script>
163169
</body>
164170
</html>
171+
<embed width="420" height="345" src="http://www.liveleak.com/e/42a_1426999994" type="application/x-shockwave-flash"
172+
wmode="transparent">

dist/jquery.emoticons.js

Lines changed: 23 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,7 @@
141141
vineWidth : 500,
142142
vineType : 'postcard', //'postcard' or 'simple' embedding
143143
tedEmbed : true,
144+
liveleakEmbed : true,
144145
beforePdfPreview : function () { //callback before pdf preview
145146
},
146147
afterPdfPreview : function () { //callback after pdf preview
@@ -428,14 +429,28 @@
428429
return str;
429430
},
430431

431-
tedEmbed: function (rawStr, str, opts) {
432-
var tedRegex=/ted.com\/talks\/[a-zA-Z0-9_]+/gi;
433-
var matches=rawStr.match(tedRegex)?rawStr.match(tedRegex).getUnique():null;
432+
tedEmbed : function (rawStr, str, opts) {
433+
var tedRegex = /ted.com\/talks\/[a-zA-Z0-9_]+/gi;
434+
var matches = rawStr.match(tedRegex) ? rawStr.match(tedRegex).getUnique() : null;
435+
var videoDimensions = this.dimensions(opts);
436+
if (matches) {
437+
var i = 0;
438+
while (i < matches.length) {
439+
str = str + '<div class="ejs-embed"><iframe src="http://embed.ted.com/talks/' + matches[i].split('/')[2] + '.html" ' +
440+
'height="' + videoDimensions.height + '" width="' + videoDimensions.width + '"></iframe></div>';
441+
i++;
442+
}
443+
}
444+
return str;
445+
},
446+
liveleakEmbed: function (rawStr, str, opts) {
447+
var liveleakRegex = /liveleak.com\/view\?i=[a-zA-Z0-9_]+/gi;
448+
var matches = rawStr.match(liveleakRegex) ? rawStr.match(liveleakRegex) : null;
434449
var videoDimensions=this.dimensions(opts);
435-
if(matches){
436-
var i=0;
437-
while(i<matches.length){
438-
str=str+'<div class="ejs-embed"><iframe src="http://embed.ted.com/talks/'+matches[i].split('/')[2]+'.html" height="' + videoDimensions.height + '" width="' + videoDimensions.width + '"></iframe></div>'
450+
if (matches) {
451+
var i = 0;
452+
while (i < matches.length) {
453+
str = str + '<div class="ejs-video"><iframe src="http://www.liveleak.com/e/' + matches[i].split('=')[1] + '" height="' + videoDimensions.height + '" width="' + videoDimensions.width + '"></iframe></div>';
439454
i++;
440455
}
441456
}
@@ -701,6 +716,7 @@
701716
input = (settings.dailymotionEmbed) ? videoProcess.dailymotionEmbed(rawInput, input, settings) : input;
702717
input = (settings.vineEmbed) ? videoProcess.vineEmbed(rawInput, input, settings) : input;
703718
input = (settings.tedEmbed) ? videoProcess.tedEmbed(rawInput, input, settings) : input;
719+
input = (settings.liveleakEmbed) ? videoProcess.liveleakEmbed(rawInput, input, settings) : input;
704720

705721
videoProcess.embed(input, settings).then(function (d) {
706722
if (tweetProcess.getMatches(d)) {

dist/jquery.emoticons.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/jquery.emoticons.js

Lines changed: 23 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,7 @@
133133
vineWidth : 500,
134134
vineType : 'postcard', //'postcard' or 'simple' embedding
135135
tedEmbed : true,
136+
liveleakEmbed : true,
136137
beforePdfPreview : function () { //callback before pdf preview
137138
},
138139
afterPdfPreview : function () { //callback after pdf preview
@@ -420,14 +421,28 @@
420421
return str;
421422
},
422423

423-
tedEmbed: function (rawStr, str, opts) {
424-
var tedRegex=/ted.com\/talks\/[a-zA-Z0-9_]+/gi;
425-
var matches=rawStr.match(tedRegex)?rawStr.match(tedRegex).getUnique():null;
424+
tedEmbed : function (rawStr, str, opts) {
425+
var tedRegex = /ted.com\/talks\/[a-zA-Z0-9_]+/gi;
426+
var matches = rawStr.match(tedRegex) ? rawStr.match(tedRegex).getUnique() : null;
427+
var videoDimensions = this.dimensions(opts);
428+
if (matches) {
429+
var i = 0;
430+
while (i < matches.length) {
431+
str = str + '<div class="ejs-embed"><iframe src="http://embed.ted.com/talks/' + matches[i].split('/')[2] + '.html" ' +
432+
'height="' + videoDimensions.height + '" width="' + videoDimensions.width + '"></iframe></div>';
433+
i++;
434+
}
435+
}
436+
return str;
437+
},
438+
liveleakEmbed: function (rawStr, str, opts) {
439+
var liveleakRegex = /liveleak.com\/view\?i=[a-zA-Z0-9_]+/gi;
440+
var matches = rawStr.match(liveleakRegex) ? rawStr.match(liveleakRegex) : null;
426441
var videoDimensions=this.dimensions(opts);
427-
if(matches){
428-
var i=0;
429-
while(i<matches.length){
430-
str=str+'<div class="ejs-embed"><iframe src="http://embed.ted.com/talks/'+matches[i].split('/')[2]+'.html" height="' + videoDimensions.height + '" width="' + videoDimensions.width + '"></iframe></div>'
442+
if (matches) {
443+
var i = 0;
444+
while (i < matches.length) {
445+
str = str + '<div class="ejs-video"><iframe src="http://www.liveleak.com/e/' + matches[i].split('=')[1] + '" height="' + videoDimensions.height + '" width="' + videoDimensions.width + '"></iframe></div>';
431446
i++;
432447
}
433448
}
@@ -693,6 +708,7 @@
693708
input = (settings.dailymotionEmbed) ? videoProcess.dailymotionEmbed(rawInput, input, settings) : input;
694709
input = (settings.vineEmbed) ? videoProcess.vineEmbed(rawInput, input, settings) : input;
695710
input = (settings.tedEmbed) ? videoProcess.tedEmbed(rawInput, input, settings) : input;
711+
input = (settings.liveleakEmbed) ? videoProcess.liveleakEmbed(rawInput, input, settings) : input;
696712

697713
videoProcess.embed(input, settings).then(function (d) {
698714
if (tweetProcess.getMatches(d)) {

0 commit comments

Comments
 (0)