|
|
|
@ -285,13 +285,16 @@ plugins.factory('userPlugins', function() { |
|
|
|
|
// TODO strip an existing dl=0 parameter
|
|
|
|
|
url = url + "?dl=1"; |
|
|
|
|
} |
|
|
|
|
var element = angular.element('<a></a>') |
|
|
|
|
.attr('target', '_blank') |
|
|
|
|
.attr('href', url) |
|
|
|
|
.append(angular.element('<img>') |
|
|
|
|
.addClass('embed') |
|
|
|
|
.attr('src', url)); |
|
|
|
|
return element.prop('outerHTML'); |
|
|
|
|
return function() { |
|
|
|
|
var element = this.getElement(); |
|
|
|
|
var imgElem = angular.element('<a></a>') |
|
|
|
|
.attr('target', '_blank') |
|
|
|
|
.attr('href', url) |
|
|
|
|
.append(angular.element('<img>') |
|
|
|
|
.addClass('embed') |
|
|
|
|
.attr('src', url)); |
|
|
|
|
element.innerHTML = imgElem.prop('outerHTML'); |
|
|
|
|
}; |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
@ -300,12 +303,15 @@ plugins.factory('userPlugins', function() { |
|
|
|
|
*/ |
|
|
|
|
var videoPlugin = new UrlPlugin('video', function(url) { |
|
|
|
|
if (url.match(/\.(mp4|webm|ogv)\b/i)) { |
|
|
|
|
var element = angular.element('<video></video>') |
|
|
|
|
.addClass('embed') |
|
|
|
|
.attr('width', '560') |
|
|
|
|
.append(angular.element('<source></source>') |
|
|
|
|
.attr('src', url)); |
|
|
|
|
return element.prop('outerHTML'); |
|
|
|
|
return function() { |
|
|
|
|
var element = this.getElement(); |
|
|
|
|
var velement = angular.element('<video></video>') |
|
|
|
|
.addClass('embed') |
|
|
|
|
.attr('width', '560') |
|
|
|
|
.append(angular.element('<source></source>') |
|
|
|
|
.attr('src', url)); |
|
|
|
|
element.innerHTML = velement.prop('outerHTML'); |
|
|
|
|
}; |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
@ -375,14 +381,17 @@ plugins.factory('userPlugins', function() { |
|
|
|
|
var regexp = /^https?:\/\/(?:www\.)?yr\.no\/(place|stad|sted|sadji|paikka)\/(([^\s.;,(){}<>\/]+\/){3,})/; |
|
|
|
|
var match = url.match(regexp); |
|
|
|
|
if (match) { |
|
|
|
|
var language = match[1]; |
|
|
|
|
var location = match[2]; |
|
|
|
|
var city = match[match.length - 1].slice(0, -1); |
|
|
|
|
url = "http://www.yr.no/" + language + "/" + location + "avansert_meteogram.png"; |
|
|
|
|
var element = angular.element('<img>') |
|
|
|
|
.attr('src', url) |
|
|
|
|
.attr('alt', 'Meteogram for ' + city); |
|
|
|
|
return element.prop('outerHTML'); |
|
|
|
|
return function() { |
|
|
|
|
var element = this.getElement(); |
|
|
|
|
var language = match[1]; |
|
|
|
|
var location = match[2]; |
|
|
|
|
var city = match[match.length - 1].slice(0, -1); |
|
|
|
|
url = "http://www.yr.no/" + language + "/" + location + "avansert_meteogram.png"; |
|
|
|
|
var ielement = angular.element('<img>') |
|
|
|
|
.attr('src', url) |
|
|
|
|
.attr('alt', 'Meteogram for ' + city); |
|
|
|
|
element.innerHTML = ielement.prop('outerHTML'); |
|
|
|
|
}; |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
@ -418,13 +427,16 @@ plugins.factory('userPlugins', function() { |
|
|
|
|
var id = url.match(regex); |
|
|
|
|
if (id) { |
|
|
|
|
var src = "https://media.giphy.com/media/" + id[1] + "/giphy.gif"; |
|
|
|
|
var element = angular.element('<a></a>') |
|
|
|
|
.attr('target', '_blank') |
|
|
|
|
.attr('href', url) |
|
|
|
|
.append(angular.element('<img>') |
|
|
|
|
.addClass('embed') |
|
|
|
|
.attr('src', src)); |
|
|
|
|
return element.prop('outerHTML'); |
|
|
|
|
return function() { |
|
|
|
|
var element = this.getElement(); |
|
|
|
|
var gelement = angular.element('<a></a>') |
|
|
|
|
.attr('target', '_blank') |
|
|
|
|
.attr('href', url) |
|
|
|
|
.append(angular.element('<img>') |
|
|
|
|
.addClass('embed') |
|
|
|
|
.attr('src', src)); |
|
|
|
|
element.innerHTML = gelement.prop('outerHTML'); |
|
|
|
|
}; |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|