Board Formatting

Adds formatting for the code board

当前为 2015-07-17 提交的版本,查看 最新版本

  1. // ==UserScript==
  2. // @name Board Formatting
  3. // @namespace http://www.hacker-project.com/
  4. // @version 0.1
  5. // @description Adds formatting for the code board
  6. // @author Kevin Mitnick
  7. // @match http://www.hacker-project.com/*
  8. // @match http://hacker-project.com/*
  9. // @grant none
  10. // ==/UserScript==
  11.  
  12. function main() {
  13. var spans = document.body.getElementsByTagName("span");
  14. for (var i = 0; i<spans.length; i++) {
  15. if (spans[i].getAttribute("class")=="yellow") process(spans[i]);
  16. }
  17. }
  18. function process(span) {
  19. var node = span.childNodes[0];
  20. var val = node.nodeValue;
  21. var ar = [
  22. ["bb",
  23. ["font-weight", "bold"],
  24. ],
  25. ["r",
  26. ["color", "red"]
  27. ],
  28. ["g",
  29. ["color", "green"]
  30. ],
  31. ["b",
  32. ["color", "blue"]
  33. ]
  34. ];
  35. for (var sc = 0; sc < ar.length; sc++) {
  36. var sca = ar[sc];
  37. var scv = sca[0];
  38. for (var cc = 1; cc < sca.length; cc++) {
  39. var cca = sca[cc];
  40. var set = cca[0];
  41. var chng = cca[1];
  42. var tag = "["+scv+"]";
  43. if (val.indexOf(tag) > -1) {
  44. var priorStyle = span.getAttribute("style");
  45. if (priorStyle===null) priorStyle = "";
  46. span.setAttribute("style", priorStyle+" "+set+": "+chng+";");
  47. var first = val.substring(0, val.indexOf(tag));
  48. var last = val.substring(val.indexOf(tag)+tag.length, val.length);
  49. node.nodeValue = first + last;
  50. }
  51. }
  52. }
  53. }
  54.  
  55. main();