您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Adds support for some markdown into chat
当前为
// ==UserScript== // @name IdlePixel Chat Markdown // @namespace lbtechnology.info // @version 1.1.1 // @description Adds support for some markdown into chat // @author Lux-Ferre // @license MIT // @match *://idle-pixel.com/login/play* // @grant none // @require https://greasyfork.org/scripts/441206-idlepixel/code/IdlePixel+.js?anticache=20220905 // ==/UserScript== (function() { 'use strict'; class MarkdownPlugin extends IdlePixelPlusPlugin { constructor() { super("markdown", { about: { name: GM_info.script.name, version: GM_info.script.version, author: GM_info.script.author, description: GM_info.script.description } }); this.previous = ""; } onChat(data){ const newMessage = this.parseMarkdown(data) if (data.modified){ const element = $("#chat-area > *").last(); while (element[0].lastChild.nodeName !== "SPAN"){ element[0].removeChild(element[0].lastChild) } element.append(newMessage.message) } } parseMarkdown(data){ data.modified = false let message = data.message message = message.replace(/⁓/g, '~') const markdownPairs = { "``": ["``", "<code>", "</code>"], "**": ["\\*\\*", "<strong>", "</strong>"] } for (const [markdown, html] of Object.entries(markdownPairs)){ const re = new RegExp(html[0],"g"); const tickCount = (message.match(re) || []).length; if (tickCount>1){ data.modified = true const backtickPairs = Math.floor(tickCount / 2) for (let i=0; i<=backtickPairs; i++){ message = message.replace(markdown, html[1]) message = message.replace(markdown, html[2]) } } } data.message = message return data } } const plugin = new MarkdownPlugin(); IdlePixelPlus.registerPlugin(plugin); })();