Board Formatting

Adds formatting for the code board

目前為 2015-07-17 提交的版本,檢視 最新版本

// ==UserScript==
// @name         Board Formatting
// @namespace    http://www.hacker-project.com/
// @version      0.2
// @description  Adds formatting for the code board
// @author       Kevin Mitnick
// @match        http://www.hacker-project.com/index.php?action=group*
// @match        http://hacker-project.com/index.php?action=group*
// @grant        none
// ==/UserScript==

function main() {
    var spans = document.body.getElementsByTagName("span");
    for (var i = 0; i<spans.length; i++) {
        if (spans[i].getAttribute("class")=="yellow") process(spans[i]);
    }
}
function process(span) {
    var node = span.childNodes[0];
    var val = node.nodeValue;
    var ar = [
        
        ["bb",
         ["font-weight", "bold"],
        ],
         
        ["r",
         ["color", "red"]
        ],
         
        ["g",
         ["color", "green"]
        ],
         
        ["b",
         ["color", "blue"]
        ]
    
    ];
         
    for (var sc = 0; sc < ar.length; sc++) {
        var sca = ar[sc];
        var scv = sca[0];
        for (var cc = 1; cc < sca.length; cc++) {
            var cca = sca[cc];
            var set = cca[0];
            var chng = cca[1];
            var tag = "["+scv+"]";
            if (val.indexOf(tag) > -1) {
                var priorStyle = span.getAttribute("style");
                if (priorStyle===null) priorStyle = "";
                span.setAttribute("style", priorStyle+" "+set+": "+chng+";");
                var first = val.substring(0, val.indexOf(tag));
                var last = val.substring(val.indexOf(tag)+tag.length, val.length);
                node.nodeValue = first + last;
            }
        }
    }
}

main();