Half-Life & Portal Wiki
Advertisement

Nota: Después de publicar, quizás necesite actualizar la caché de su navegador para ver los cambios.

  • Firefox/Safari: Mantenga presionada la tecla Shift mientras pulsa el botón Actualizar, o presiona Ctrl+F5 o Ctrl+R (⌘+R en Mac)
  • Google Chrome: presione Ctrl+Shift+R (⌘+Shift+R en Mac)
  • Internet Explorer/Edge: mantenga presionada Ctrl mientras pulsa Actualizar, o presione Ctrl+F5
  • Opera: Presiona Ctrl+F5.
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";
}
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;
	},
	'center': function (s, t) {
		if (t.charAt(0) === '/') {
			s = s.replace('[/center]', '</div>');
		} else {
			s = s.replace('[center]', '<div style="text-align:center">');
		}
		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;
	},
	'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] + '"]', '<img class="chat-image" src="http://' + mw.html.escape(t[1]) + '" />');
			} catch (e) {
				console.log(e);
			}
		}
		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="auto"><source src="http://' + 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 preload="auto" autoplay><source src="http://' + 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 preload="auto" autoplay><source src="http://' + 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="auto"><source src="http://vocaroo.com/media_command.php?media=' + mw.html.escape(t[1]) + '&command=download_ogg" type="audio/ogg"><source src="http://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="auto"><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="auto"><source src="http://' + mw.html.escape(t[1]) + '"></video>');
			} catch (e) {
				console.log(e);
			}
		}
		return s;
	},
	'youtube': 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="' + t[1] + '"]', '<video class="chat-video" controls preload="metadata" poster="https://img.youtube.com/vi/' + mw.html.escape(t[1]) + '/hqdefault.jpg"><source src="https://elnobdetfm.cf/yt/getvideo.mp4?videoid=' + mw.html.escape(t[1]) + '"></video><br /><a class="ignore_yt_parser" href="https://www.youtube.com/watch?v=' + mw.html.escape(t[1]) + '" target="_blank">[Ver en YouTube]</a><br />');
			} catch (e) {
				console.log(e);
			}
		}
		return s;
	},
	'youtube-2': 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-2="' + t[1] + '"]', '<iframe class="chat-ytvideo" src="https://www.youtube.com/embed/' + mw.html.escape(t[1]) + '" frameborder="0" allowfullscreen></iframe>');
			} 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();
});
Advertisement