您需要先安装一个扩展,例如 篡改猴、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);
- })();