您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
A script to format posts Spongepowered forums
当前为
// ==UserScript== // @name Sponge Fourms Formatter // @description A script to format posts Spongepowered forums // @namespace Thefdjurt.github.io // @include https://forums.spongepowered.org/t/* // @version 1.32 // @grant none // ==/UserScript== var f; var GET = function (URL, callback) { var request = new XMLHttpRequest(); request.onerror=function(){}; request.open('GET', URL, true); request.send(null); request.onreadystatechange = function(){ if (request.readyState==4) { if (typeof(callback) == "function"){ callback(request,GET,f); } } }; }; var L=[ "af", "ar", "ca", "cs", "da", "de", "el", "en-GB", "en-PT", "en", "es-ES", "fi", "fr-CA", "fr", "he", "hu", "it", "ja", "ko", "nb", "nl", "no", "pl", "pt-BR", "pt-PT", "ro", "ru", "sr", "sv-SE", "th", "tr", "uk", "vi", "zh-CN", "zh-HK", "zh-TW" ]; var lang=(function(){ var l = navigator.languages || [navigator.language]; for (var i=0;i<l.length;i++){ if (L.indexOf(l[i])>=0) return l[i]; } return "en-GB"; //Only us 'murcians use color ;D })(); var format = function(elem){ f = elem; var html = elem.innerHTML.replace(/\\\[/g,"▌").replace(/\\\]/g,"▐"); var ref = html.match(/(api|doc)\[(.*?)\]/gi); for (var i=0;i<ref.length;i++){ var v = ref[i].replace(/\▌/g,"[").replace(/\▐/g,"]"); var s = v.substr(0,3), m = v.substring(4,v.length-1).replace(/\\\./g,"⬤").replace(/\./g,"/").replace(/\⬤/g,"."); var t = (m.split("|")[1] || ((m!=="")? m.substring(m.lastIndexOf("/")+1): s)); m = m.split("|")[0]; if (s.toLowerCase()=="api"){ if (m===""){ elem.innerHTML = elem.innerHTML.replace(v,"<a href='https://spongepowered.github.io/SpongeAPI/'>"+t+"</a>"); continue; } var h = "https://spongepowered.github.io/SpongeAPI/org/spongepowered/api/"+m; GET(h+".html",new Function("r","GET","f","\ if (r.status==404){\ GET('"+h+"/package-summary.html',function(r,GET,f){\ if (r.status!=404) f.innerHTML = f.innerHTML.replace('"+v+"','<a href=\"'+r.responseURL+'\">"+t+"</a>');\ });\ } else {\ f.innerHTML = f.innerHTML.replace('"+v+"','<a href=\"'+r.responseURL+'\">"+t+"</a>');\ } if ("+i+"=="+ref.length+"){nt();}")); } else { var h = "https://docs.spongepowered.org/"+lang+"/"+m; GET(h+".html",new Function("r","GET","f","\ if (r.status==404){\ GET('"+h+"/index.html',function(r,GET,f){\ if (r.status!=404) f.innerHTML = f.innerHTML.replace('"+v+"','<a href=\"'+r.responseURL+'\">"+t+"</a>');\ });\ } else {\ f.innerHTML = f.innerHTML.replace('"+v+"','<a href=\"'+r.responseURL+'\">"+t+"</a>');\ } if ("+i+"=="+ref.length+"){nt();}")); } } }; setTimeout(function(){ console.log("[Forumatter] Formatting the posts..."); console.log("[Forumatter] Invalid URLs will throw 404s, so just ignore them :D") var cooked = document.querySelectorAll('.cooked'); for (var n=0;n<cooked.length;n++){ format(cooked[n]); } }, 50);