mSin resumen de edición |
m (https urls + removing img) |
||
Línea 8: | Línea 8: | ||
else inner.style.display = "none"; |
else inner.style.display = "none"; |
||
} |
} |
||
− | var _open = window.open; |
||
− | window.open = function(url, name, opts) { |
||
− | if (/#$/i.test(url)) { |
||
− | event.preventDefault(); |
||
− | } else { |
||
− | _open(url, '_blank'); |
||
− | } |
||
− | }; |
||
save = function(filename, saveas){ |
save = function(filename, saveas){ |
||
var $a = document.createElement('a'); |
var $a = document.createElement('a'); |
||
Línea 142: | Línea 134: | ||
} else { |
} else { |
||
s = s.replace('[spoiler]', '<span class="spoiler"><input type="button" onclick="showSpoiler(this);" value="Spoiler" /><span class="inner" style="display:none;"> '); |
s = s.replace('[spoiler]', '<span class="spoiler"><input type="button" onclick="showSpoiler(this);" value="Spoiler" /><span class="inner" style="display:none;"> '); |
||
− | } |
||
− | return s; |
||
− | }, |
||
− | 'img': function (s, t) { |
||
− | if (chatags.media !== true) return s; |
||
− | if (t.charAt(0) !== '/') { |
||
− | try { |
||
− | t = t.split('="'); |
||
− | t[1] = t[1].replace('"', ''); |
||
− | s = s.replace('[img="' + t[1] + '"]', '<div class="chat-image-container"><img class="chat-image" src="http://' + mw.html.escape(t[1]) + '" /><a class="wikia-button chat-image-download" href="#" title="Descargar esta imagen" onclick="save("http://' + mw.html.escape(t[1]) + '")">Descargar</a></div>'); |
||
− | } catch (e) { |
||
− | console.log(e); |
||
− | } |
||
} |
} |
||
return s; |
return s; |
||
Línea 164: | Línea 143: | ||
t = t.split('="'); |
t = t.split('="'); |
||
t[1] = t[1].replace('"', ''); |
t[1] = t[1].replace('"', ''); |
||
− | s = s.replace('[audio="' + t[1] + '"]', '<audio class="chat-audio" controls preload="none"><source src=" |
+ | s = s.replace('[audio="' + t[1] + '"]', '<audio class="chat-audio" controls preload="none"><source src="https://' + mw.html.escape(t[1]) + '"></audio>'); |
} catch (e) { |
} catch (e) { |
||
console.log(e); |
console.log(e); |
||
Línea 177: | Línea 156: | ||
t = t.split('="'); |
t = t.split('="'); |
||
t[1] = t[1].replace('"', ''); |
t[1] = t[1].replace('"', ''); |
||
− | s = s.replace('[audio-a="' + t[1] + '"]', '<audio autoplay><source src=" |
+ | s = s.replace('[audio-a="' + t[1] + '"]', '<audio autoplay><source src="https://' + mw.html.escape(t[1]) + '"></audio>'); |
} catch (e) { |
} catch (e) { |
||
console.log(e); |
console.log(e); |
||
Línea 190: | Línea 169: | ||
t = t.split('="'); |
t = t.split('="'); |
||
t[1] = t[1].replace('"', ''); |
t[1] = t[1].replace('"', ''); |
||
− | s = s.replace('[audio-ca="' + t[1] + '"]', '<audio class="chat-audio" controls autoplay><source src=" |
+ | s = s.replace('[audio-ca="' + t[1] + '"]', '<audio class="chat-audio" controls autoplay><source src="https://' + mw.html.escape(t[1]) + '"></audio>'); |
} catch (e) { |
} catch (e) { |
||
console.log(e); |
console.log(e); |
||
Línea 203: | Línea 182: | ||
t = t.split('="'); |
t = t.split('="'); |
||
t[1] = t[1].replace('"', ''); |
t[1] = t[1].replace('"', ''); |
||
− | s = s.replace('[vocaroo="' + t[1] + '"]', '<audio class="chat-audio" controls preload="none"><source src=" |
+ | s = s.replace('[vocaroo="' + t[1] + '"]', '<audio class="chat-audio" controls preload="none"><source src="https://vocaroo.com/media_command.php?media=' + mw.html.escape(t[1]) + '&command=download_ogg" type="audio/ogg"><source src="https://vocaroo.com/media_command.php?media=' + mw.html.escape(t[1]) + '&command=download_mp3" type="audio/mpeg"></audio>'); |
} catch (e) { |
} catch (e) { |
||
console.log(e); |
console.log(e); |
||
Línea 255: | Línea 234: | ||
t = t.split('="'); |
t = t.split('="'); |
||
t[1] = t[1].replace('"', ''); |
t[1] = t[1].replace('"', ''); |
||
− | s = s.replace('[video="' + t[1] + '"]', '<video class="chat-video" controls preload="none"><source src=" |
+ | s = s.replace('[video="' + t[1] + '"]', '<video class="chat-video" controls preload="none"><source src="https://' + mw.html.escape(t[1]) + '"></video>'); |
} catch (e) { |
} catch (e) { |
||
console.log(e); |
console.log(e); |
Revisión actual - 02:47 26 ene 2019
if (wgCityId === "711348") {
var chatags = typeof chatags !== 'undefined' ? chatags : {};
chatags.images = typeof chatags.images !== 'undefined' ? chatags.images : true;
chatags.media = typeof chatags.media !== 'undefined' ? chatags.media : true;
function showSpoiler(obj) {
var inner = obj.parentNode.getElementsByTagName("span")[0];
if (inner.style.display == "none") inner.style.display = "";
else inner.style.display = "none";
}
save = function(filename, saveas){
var $a = document.createElement('a');
$a.download = saveas || 'img.jpg';
$a.href = filename;
$a.click();
};
chatags.tags = {
'b': function (s, t) {
if (t.charAt(0) === '/') {
s = s.replace('[/b]', '</span>');
} else {
s = s.replace('[b]', '<span style="font-weight:bold;">');
}
return s;
},
'bg': function (s, t) {
if (t.charAt(0) === '/') {
s = s.replace('[/bg]', '</span>');
} else {
try {
t = t.split('="');
t[1] = t[1].replace('"', '');
s = s.replace('[bg="' + t[1] + '"]', '<span style="background-color:' + mw.html.escape(t[1]) + ';">');
} catch (e) {
console.log(e);
}
}
return s;
},
'big': function (s, t) {
if (t.charAt(0) === '/') {
s = s.replace('[/big]', '</span>');
} else {
s = s.replace('[big]', '<span style="font-size:16pt;">');
}
return s;
},
'c': function (s, t) {
if (t.charAt(0) === '/') {
s = s.replace('[/c]', '</span>');
} else {
try {
t = t.split('="');
t[1] = t[1].replace('"', '');
s = s.replace('[c="' + t[1] + '"]', '<span style="color:' + mw.html.escape(t[1]) + ';">');
} catch (e) {
console.log(e);
}
}
return s;
},
'code': function (s, t) {
if (t.charAt(0) === '/') {
s = s.replace('[/code]', '</span>');
} else {
s = s.replace('[code]', '<span style="font-family:monospace;">');
}
return s;
},
'font': function (s, t) {
if (t.charAt(0) === '/') {
s = s.replace('[/font]', '</span>');
} else {
try {
t = t.split('="');
t[1] = t[1].replace('"', '');
s = s.replace('[font="' + t[1] + '"]', '<span style="font-family:' + mw.html.escape(t[1]) + ';">');
} catch (e) {
console.log(e);
}
}
return s;
},
'i': function (s, t) {
if (t.charAt(0) === '/') {
s = s.replace('[/i]', '</span>');
} else {
s = s.replace('[i]', '<span style="font-style:italic;">');
}
return s;
},
'small': function (s, t) {
if (t.charAt(0) === '/') {
s = s.replace('[/small]', '</span>');
} else {
s = s.replace('[small]', '<span style="font-size:7pt;">');
}
return s;
},
's': function (s, t) {
if (t.charAt(0) === '/') {
s = s.replace('[/s]', '</span>');
} else {
s = s.replace('[s]', '<span style="text-decoration:line-through;">');
}
return s;
},
'sub': function (s, t) {
if (t.charAt(0) === '/') {
s = s.replace('[/sub]', '</sub>');
} else {
s = s.replace('[sub]', '<sub>');
}
return s;
},
'sup': function (s, t) {
if (t.charAt(0) === '/') {
s = s.replace('[/sup]', '</sup>');
} else {
s = s.replace('[sup]', '<sup>');
}
return s;
},
'u': function (s, t) {
if (t.charAt(0) === '/') {
s = s.replace('[/u]', '</span>');
} else {
s = s.replace('[u]', '<span style="text-decoration:underline;">');
}
return s;
},
'spoiler': function (s, t) {
if (t.charAt(0) === '/') {
s = s.replace('[/spoiler]', '</span>');
} else {
s = s.replace('[spoiler]', '<span class="spoiler"><input type="button" onclick="showSpoiler(this);" value="Spoiler" /><span class="inner" style="display:none;"> ');
}
return s;
},
'audio': function (s, t) {
if (chatags.media !== true) return s;
if (t.charAt(0) !== '/') {
try {
t = t.split('="');
t[1] = t[1].replace('"', '');
s = s.replace('[audio="' + t[1] + '"]', '<audio class="chat-audio" controls preload="none"><source src="https://' + mw.html.escape(t[1]) + '"></audio>');
} catch (e) {
console.log(e);
}
}
return s;
},
'audio-a': function (s, t) {
if (chatags.media !== true) return s;
if (t.charAt(0) !== '/') {
try {
t = t.split('="');
t[1] = t[1].replace('"', '');
s = s.replace('[audio-a="' + t[1] + '"]', '<audio autoplay><source src="https://' + mw.html.escape(t[1]) + '"></audio>');
} catch (e) {
console.log(e);
}
}
return s;
},
'audio-ca': function (s, t) {
if (chatags.media !== true) return s;
if (t.charAt(0) !== '/') {
try {
t = t.split('="');
t[1] = t[1].replace('"', '');
s = s.replace('[audio-ca="' + t[1] + '"]', '<audio class="chat-audio" controls autoplay><source src="https://' + mw.html.escape(t[1]) + '"></audio>');
} catch (e) {
console.log(e);
}
}
return s;
},
'vocaroo': function (s, t) {
if (chatags.media !== true) return s;
if (t.charAt(0) !== '/') {
try {
t = t.split('="');
t[1] = t[1].replace('"', '');
s = s.replace('[vocaroo="' + t[1] + '"]', '<audio class="chat-audio" controls preload="none"><source src="https://vocaroo.com/media_command.php?media=' + mw.html.escape(t[1]) + '&command=download_ogg" type="audio/ogg"><source src="https://vocaroo.com/media_command.php?media=' + mw.html.escape(t[1]) + '&command=download_mp3" type="audio/mpeg"></audio>');
} catch (e) {
console.log(e);
}
}
return s;
},
'soundcloud': function (s, t) {
if (chatags.media !== true) return s;
if (t.charAt(0) !== '/') {
try {
t = t.split('="');
t[1] = t[1].replace('"', '');
s = s.replace('[soundcloud="' + t[1] + '"]', '<iframe class="chat-soundcloud" height="166" src="//w.soundcloud.com/player/?url=/' + mw.html.escape(t[1]) + '&show_artwork=false" frameborder="0"></iframe>');
} catch (e) {
console.log(e);
}
}
return s;
},
'soundcloud-playlist': function (s, t) {
if (chatags.media !== true) return s;
if (t.charAt(0) !== '/') {
try {
t = t.split('="');
t[1] = t[1].replace('"', '');
s = s.replace('[soundcloud-playlist="' + t[1] + '"]', '<iframe class="chat-soundcloud-pl" height="465" src="//w.soundcloud.com/player/?url=/' + mw.html.escape(t[1]) + '&show_artwork=false" frameborder="0"></iframe>');
} catch (e) {
console.log(e);
}
}
return s;
},
'youtube-audio': function (s, t) {
if (chatags.media !== true) return s;
if (t.charAt(0) !== '/') {
try {
t = t.split('="');
t[1] = t[1].replace('"', '');
s = s.replace('[youtube-audio="' + t[1] + '"]', '<audio class="chat-audio" controls preload="none"><source src="https://elnobdetfm.cf/yt/getvideo.mp4?videoid=' + mw.html.escape(t[1]) + '&format=audio" type="audio/mpeg"></audio>');
} catch (e) {
console.log(e);
}
}
return s;
},
'video': function (s, t) {
if (chatags.media !== true) return s;
if (t.charAt(0) !== '/') {
try {
t = t.split('="');
t[1] = t[1].replace('"', '');
s = s.replace('[video="' + t[1] + '"]', '<video class="chat-video" controls preload="none"><source src="https://' + mw.html.escape(t[1]) + '"></video>');
} catch (e) {
console.log(e);
}
}
return s;
}
};
chatags.parser = function (s) {
var t = s.match(/\[([^\[\];]*)\]/g);
var tg = '';
if (!t) return s;
for (var i = 0; i < t.length; i++) {
tg = t[i].match(/\[\/?([^\[\]]*)\]/)[1];
try {
tg = tg.split('="')[0];
} catch (e) {
console.log(e);
}
if (typeof chatags.tags[tg] !== 'undefined') {
s = chatags.tags[tg](s, t[i].replace('[', '').replace(']', ''));
}
}
return s;
};
chatags.init = function () {
if (typeof window.mainRoom !== 'undefined') {
window.mainRoom.model.chats.bind("afteradd", function (c) {
if (typeof window.mainRoom.roomId === "undefined") return;
var string = $('#entry-' + c.cid).html();
string = chatags.parser(string);
if (!string) return;
$('#entry-' + c.cid).html(string);
});
window.mainRoom.model.privateUsers.bind('add', function(u) {
var privateRoomId = u.attributes.roomId;
var privateRoom = mainRoom.chats.privates[privateRoomId];
privateRoom.model.chats.bind('afteradd', function(c) {
if (c.attributes.isInlineAlert) return;
var string = $('#entry-' + c.cid).html();
if (!string) return;
string = chatags.parser(string);
$('#entry-' + c.cid).html(string);
});
});
}
};
$(document).ready(function () {
chatags.init();
});
} else {
console.error('Esta versión de Tags está diseñada para usarse solamente en Steven Universe Wiki.');
}