User:Utter solitude/ChatTag.js

/** * ChatTags *  Modified from code by User:AnimatedCartoons */ (function ($) {   'use strict';    // Translations    var lng = {        // English        en: {            hide: 'Hide spoiler',            show: 'Show spoiler'        },        // Español        es: {            hide: 'Ocultar spoiler',            show: 'Mostrar spoiler'        }    };    lng = $.extend(lng.en, lng[mw.config.get('wgContentLanguage')]);    mainRoom.model.chats.bind('afteradd', function (chat) { var t = chat.attributes.text, $m = $('#Chat_' + roomId + ' .message:last').html; // Background if (t.match(/(?=.*\[bg .*\])(?=.*\[\/bg\])/i)) { $m = $m.replace(/\[bg (.*?)\]/gi, '').replace(/\[\/bg\]/gi, ' '); }

// Big if (t.match(/(?=.*\[big\])(?=.*\[\/big\])/gi)) { $m = $m.replace(/\[big\]/gi, ' ').replace(/\[\/big\]/gi, ' '); }       // Boldface if (t.match(/(?=.*\[b\])(?=.*\[\/b\])/gi)) { $m = $m.replace(/\[b\]/gi, ' ').replace(/\[\/b\]/gi, ' '); }       // Color if (t.match(/(?=.*\[c .*\])(?=.*\[\/c\])/i)) { $m = $m.replace(/\[c (.*?)\]/gi, '').replace(/\[\/c\]/gi, ' '); }       // Font if (t.match(/(?=.*\[f .*\])(?=.*\[\/f\])/i)) { $m = $m.replace(/\[f (.*?)\]/gi, '').replace(/\[\/f\]/gi, ' '); }       // Image if (t.match(/(?=.*\[img .*\])/i)) { $m = $m.replace(/\/gi, ).replace(/\<\/a\>/gi, ).replace(/\[img (.*?)\]/gi, ''); }       // Italicize if (t.match(/(?=.*\[i\])(?=.*\[\/i\])/i)) { $m = $m.replace(/\[i\]/gi, ' ').replace(/\[\/i\]/gi, ' '); }

// Line break if (t.match(/(?=.*\[br .*\])(?=.*\[\/br\])/i)) { $m = $m.replace(/\[br \]/gi, ' '); }       // Preformatted if (t.match(/(?=.*\[p\])(?=.*\[\/p\])/i)) { $m = $m.replace(/\[p\]/gi, ' ').replace(/\[\/p\]/gi, ' '); }       // Small if (t.match(/(?=.*\[small\])(?=.*\[\/small\])/gi)) { $m = $m.replace(/\[small\]/gi, ' ').replace(/\[\/small\]/gi, ' '); }       // Spoiler if (t.match(/(?=.*\[sp\])(?=.*\[\/sp\])/gi)) { $m = $m.replace(/\[sp\]/gi, ' Spoiler ').replace(/\[\/sp\]/gi, ' '); }       // Strike if (t.match(/(?=.*\[s\])(?=.*\[\/s\])/i)) { $m = $m.replace(/\[s\]/gi, ' ').replace(/\[\/s\]/gi, ' '); }       // Subscript if (t.match(/(?=.*\[sub\])(?=.*\[\/sub\])/i)) { $m = $m.replace(/\[sub\]/gi, ).replace(/\[\/sub\]/gi, ); }       // Superscript if (t.match(/(?=.*\[sup\])(?=.*\[\/sup\])/i)) { $m = $m.replace(/\[sup\]/gi, '').replace(/\[\/sup\]/gi, ' '); }       // Underline if (t.match(/(?=.*\[u\])(?=.*\[\/u\])/i)) { $m = $m.replace(/\[u\]/gi, ' ').replace(/\[\/u\]/gi, ' '); }       // YouTube if (t.match(/(?=.*\[yt .*\])/i)) { $m = $m.replace(/\[yt (.*?)\]/gi, ''); }       $('#Chat_' + roomId + ' .message:last').html($m); });   $('body').on('click', '#spoil', function  { var $s = $(this).siblings('#spoil2'); if ($($s).is(':hidden')) { $(this).text(lng.hide); $($s).show; } else { $(this).text(lng.show); $($s).hide; }   }); }(this.jQuery)); //