Board Formatting

Adds formatting for the code board

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

  1. // ==UserScript==
  2. // @name Board Formatting
  3. // @namespace http://www.hacker-project.com/
  4. // @version 0.3
  5. // @description Adds formatting for the code board
  6. // @author Kevin Mitnick
  7. // @match http://www.hacker-project.com/index.php?action=group*
  8. // @match http://hacker-project.com/index.php?action=group*
  9. // @grant none
  10. // ==/UserScript==
  11.  
  12. function main() {
  13. var spans = document.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 val = span.innerHTML;
  20. var sar = [
  21. [":)", "http://goo.gl/QKRt2U"],
  22. ["xd", "http://goo.gl/21TUiI"]
  23. ];
  24. for (var sari = 0; sari < sar.length; sari++) {
  25. var sa = sar[sari];
  26. var s = sa[0];
  27. var addr = sa[1];
  28. while (val.toLowerCase().indexOf(s)>-1) {
  29. var first2 = val.substring(0, val.toLowerCase().indexOf(s));
  30. var last2 = val.substring(val.toLowerCase().indexOf(s)+s.length, val.length);
  31. span.innerHTML = first2+"<img src='"+addr+"' width='16px'/>"+last2;
  32. val = span.innerHTML;
  33. }
  34. }
  35. var ar = [
  36. ["bb",
  37. ["font-weight", "bold"]
  38. ],
  39. ["r",
  40. ["color", "red"]
  41. ],
  42. ["g",
  43. ["color", "green"]
  44. ],
  45. ["b",
  46. ["color", "blue"]
  47. ]
  48. ];
  49. for (var sc = 0; sc < ar.length; sc++) {
  50. var sca = ar[sc];
  51. var scv = sca[0];
  52. for (var cc = 1; cc < sca.length; cc++) {
  53. var cca = sca[cc];
  54. var set = cca[0];
  55. var chng = cca[1];
  56. var tag = "["+scv+"]";
  57. if (val.indexOf(tag) > -1) {
  58. var priorStyle = span.getAttribute("style");
  59. if (priorStyle===null) priorStyle = "";
  60. span.setAttribute("style", priorStyle+" "+set+": "+chng+";");
  61. var first = val.substring(0, val.indexOf(tag));
  62. var last = val.substring(val.indexOf(tag)+tag.length, val.length);
  63. span.innerHTML = first+last;
  64. }
  65. }
  66. }
  67. }
  68.  
  69. main();