// ==UserScript== // @name Character.AI Text Color // @namespace Character.AI Text Color by Vishanka // @match https://*.character.ai/c* // @grant none // @license MIT // @version 1.0 // @author Vishanka via chatGPT // @description Changes the color of all text except the text within "Quotation Marks" // @icon https://i.imgur.com/ynjBqKW.png // @downloadURL none // ==/UserScript== (function() { var css = "p { color: #958C7F !important; }"; var head = document.getElementsByTagName("head")[0]; var style = document.createElement("style"); style.setAttribute("type", 'text/css'); style.innerHTML = css; head.appendChild(style); })(); function changeColors() { const pTags = document.getElementsByTagName('p'); for (let i = 0; i < pTags.length; i++) { const pTag = pTags[i]; if (pTag.dataset.colorChanged === 'true') { continue; } let text = pTag.innerHTML; if (text.match(/(["“”«»].*?["“”«»])/)) { text = text.replace(/(["“”«»].*?["“”«»])/g, '$1'); pTag.innerHTML = text; pTag.dataset.colorChanged = 'true'; } } console.log('Changed parentheses colors!'); } // Observe changes in the document and call changeColors() whenever mutations occur const observer = new MutationObserver(changeColors); observer.observe(document, { subtree: true, childList: true }); // Initially apply the color changes changeColors();