FANDOM


ChatTags (código) es un procesador de sintaxis para Special:Chat.

Permite a sus usuarios añadir formato a sus mensajes. Esto incluye la abilidad de darle color a sus mensajes, cambiarles la fuente, alterar el tamaño del texto, alternar negrita, y su color de fondo.

Esto le da a los usuarios la libertad creativa para expresarse mejor en el Chat.

Ahora pueden hacer secciones importantes en sus mensajes en negrita o incluso remarcarlas usando colores y fondos en vez de solo mayúsculas. También pueden escribir citas en cursiva, y lo que sea que consideren necesario.

Todo esto hace que este script mejore el chat para todo propósito.


Instalación

Adicionalmente, si deseas habilitar la etiqueta de imagen o youtube, tendrás que añadir la siguiente linea ARRIBA del importe.

var chatags = { images: true, videos: true };

Uso

Para utilizar Chat Tags en tu wiki luego de la instalación, solo debes envolver su texto en las etiquetas designadas que encontrarás abajo. Funcionan de manera muy parecida al HTML de manera que requiere una etiqueta de comienzo para declarar cuando empieza el formato y una etiqueta para finalizar el formato. Si no incluyes ambas etiquetas entonces el texto será ignorado por el script.

Las etiquetas deben terminar en el orden que empezaron

[c="red"]Este texto será rojo.[/c] -> Este texto será rojo.

[c="#FF0000"]Este texto también será rojo.[/c] -> Este texto también será rojo.

[bg="red"]Este texto tendrá un fondo rojo.[/bg] -> Este texto tendrá un fondo rojo.

[b]Este texto estará en negrita.[/b] -> Este texto estará en negrita.

[c="red"][b]Este texto será rojo y estará en negrita.[/b][/c] -> Este texto será rojo y estará en negrita

Etiquetas

  • Color de texto
    • [c="<código de color>"]<mensaje>[/c]
  • Color de fondo
    • [bg="<código de color>"]<mensaje>[/bg]
  • Fuente
    • [font="<nombre de fuente>"]<mensaje>[/font]
  • Etiqueta de código
    • [code]<mensaje>[/code]
  • Texto en negrita
    • [b]<mensaje>[/b]
  • Texto en cursiva
    • [i]<mensaje>[/i]
  • Texto grande
    • [big]<mensaje>[/big]
  • Texto pequeño
    • [small]<mensaje>[/small]
  • Subíndice
    • [sub]<mensaje>[/sub]
  • Superíndice
    • [sup]<mensaje>[/sup]
  • Texto tachado
    • [s]<mensaje>[/s]
  • Texto subrayado
    • [u]<mensaje>[/u]
  • Imagen
    • Nota: deja el http:// fuera del enlace
    • [img="<imagen>"]
  • YouTube
    • Nota: www.youtube.com/watch?v=uQzGxQxn84Y
    • [yt="<ID del video>"]

Desarrolladores

ChatTags es muy extendible y le permite a los desarrolladores fácilmente añadir y quitar etiquetas como requieran.

Para añadir una etiqueta necesitas añadir una entrada al objeto de etiquetas. Para hacer esto tendrás que eñegir un nombre que no se ha elegido previamente. Todas las etiquetas por defecto están listadas arriba. Luego de seleccionar un nombre, tendrás que decidir si es una etiqueta autónoma o en pares.

Una etiqueta autónoma solo necesita una etiqueta de apertura (vea también: img, yt).

Una etiqueta de pares necesita una etiqueta de apertura y una de de cierre (vea también: c, u, bg).

Luego de decidir la estructura de tu etiqueta tienes que decidir si acepta un parametro o no. Luego de decidirlo podrás crear tu entrada para el objeto. Para propósitos de ejemplo crearemos una etiqueta que cambia su color a violeta.

Para añadir una entrada tenemos que añadir esto DEBAJO del importe de ChatTags.

//... import ...
mw.hook('chatags.init').add(function() {
    chatags.tags['user'] = function(s,t) {        // S is the user string, T is the tag
        if (t.charAt(0) === '/') {                // We have been given the ending tag
            s = s.replace('[/user]', '</span>');
        } else {                                  // We have been given the opening tag
            s = s.replace('[user]', '<span style="color:purple">');
        }
        return s;                                 // Return the user string for further parsing
    };
});

Ahora, en caso de que querramos que el usuario ponga su propio nombre, haríamos algo como lo siguiente:

//... import ...
mw.hook('chatags.init').add(function() {
    chatags.tags['user'] = function(s,t) {
        if (t.charAt(0) === '/') {
            s = s.replace('[/user]', '</span>');
        } else {
            try {
                t = t.split(' ');
                s = s.replace('[user' + t[1] + ']', '<span style="color:' + mw.html.escape(t[1]) + ';">');
            } catch(e) { console.log(e) }
        }
        return s;
    };
});

A la hora de interpretar texto introducido por el usuario siempre tienes que usar mw.html.escape() para sanitizar el texto y prevenir injección de script.

Community content is available under CC-BY-SA unless otherwise noted.

Fandom may earn an affiliate commission on sales made from links on this page.

Stream the best stories.

Fandom may earn an affiliate commission on sales made from links on this page.

Get Disney+