您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Enable markups in Picarto chats
当前为
- // ==UserScript==
- // @name Picarto Markup
- // @description Enable markups in Picarto chats
- // @include *//picarto.tv/*
- // @version 1
- // @grant none
- // @license MIT
- // @namespace https://greasyfork.org/users/184200
- // ==/UserScript==
- function markup(str) {
- var matches = ("i>" + str).match(/[a|i|"|n]>(.*?)(?=<)/gm);
- var nonmatches = str.match(/<(.*?)(?=[a|i|"|n]>)/gm);
- var star = /\*(\S(.*?\S)?)\*/gm;
- var double_star = /\*\*(\S(.*?\S)?)\*\*/gm;
- var undersc = /\_(\S(.*?\S)?)\_/gm;
- var double_undersc = /\_\_(\S(.*?\S)?)\_\_/gm;
- var tilde = /\~(\S(.*?\S)?)\~/gm;
- var double_tilde = /\~\~(\S(.*?\S)?)\~\~/gm;
- matches[0] = matches[0].substring(2);
- var newstring = "";
- for (i = 0; i < matches.length; i++) {
- if( !(i+1<matches.length && matches[i+1].startsWith("a")) ) {
- matches[i] = matches[i].replace(double_star, '<b>$1</b>');
- matches[i] = matches[i].replace(double_undersc, '<u>$1</u>');
- matches[i] = matches[i].replace(star, '<i>$1</i>');
- matches[i] = matches[i].replace(undersc, '<i>$1</i>');
- matches[i] = matches[i].replace(double_tilde, '<s>$1</s>');
- }
- newstring = newstring + matches[i] + nonmatches[i];
- }
- newstring += "n>";
- return newstring;
- }
- $(document).ready(() => {
- let targetNode = document.getElementById("chatContainer");
- let options = {childList:true,subtree:true};
- let observer = new MutationObserver((mutationList)=>{
- let msgs = document.getElementsByClassName("theMsg");
- for(let a = msgs.length-1; a >= 0; a--){
- let m = msgs[a];
- if(!m.classList.contains("MarkUp")){
- m.classList.add("MarkUp");
- m.innerHTML = markup(m.innerHTML);
- }
- }
- });
- observer.observe(targetNode, options);
- });