您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Adds a button to copy changelog
当前为
// ==UserScript== // @name Copy SteamDB Changelog as BBcode // @namespace none // @version 1 // @description Adds a button to copy changelog // @author ingts // @match https://steamdb.info/patchnotes/* // @grant GM_setClipboard // ==/UserScript== function html2bb(str) { if (!str) return "" str = str.replace(/< *br *\/*>/g, "\n\n") //*/ str = str.replace(/< *b *>/g, "[b]") str = str.replace(/< *\/ *b *>/g, "[/b]") str = str.replace(/< *u *>/g, "[u]") str = str.replace(/< *\/ *u *>/g, "[/u]") str = str.replace(/< *i *>/g, "[i]") str = str.replace(/< *\/ *i *>/g, "[/i]") str = str.replace(/< *strong *>/g, "[b]") str = str.replace(/< *\/ *strong *>/g, "[/b]") str = str.replace(/< *em *>/g, "[i]") str = str.replace(/< *\/ *em *>/g, "[/i]") str = str.replace(/< *li *>/g, "[*]") str = str.replace(/< *\/ *li *>/g, "") str = str.replace(/< *ul *class=\\*\"bb_ul\\*\" *>/g, "") str = str.replace(/< *\/ *ul *>/g, "") str = str.replace(/< *h2 *class=\"bb_tag\" *>/g, "\n[align=center][u][b]") str = str.replace(/< *h[12] *>/g, "\n[align=center][u][b]") str = str.replace(/< *\/ *h[12] *>/g, "[/b][/u][/align]\n") str = str.replace(/\"/g, "\"") str = str.replace(/\&/g, "&") str = str.replace(/< *img *src="([^"]*)".*>/g, "\n") str = str.replace(/< *a [^>]*>/g, "") str = str.replace(/< *\/ *a *>/g, "") str = str.replace(/< *p *>/g, "") str = str.replace(/< *\/ *p *>/g, "") str = str.replace(//g, "\"") str = str.replace(//g, "\"") str = str.replace(/ +/g, " ") str = str.replace(/\n +/g, "\n") str = str.replace(/\n\n\n+/gm, "\n\n") str = str.replace(/\n\n\n+/gm, "\n\n") str = str.replace(/\[\/b]\[\/u]\[\/align]\n\n/g, "[/b][/u][/align]\n") str = str.replace(/\n\n\[\*]/g, "\n[*]") str = str.replace(/<ul>\n/g, '') str = str.replace(/<h3.*>(.*?)<\/h3>/g, '[b]$1[/b]') return str } const button = document.createElement('button') button.textContent = 'Copy changelog as BBcode' document.querySelector('.patchnotes-editor').append(button) button.addEventListener('click', () => { GM_setClipboard('[hide=Changelog]' + html2bb(document.querySelector('.patchnotes-official').innerHTML) + '[/hide]') button.textContent = 'Copied' })