Advertisement
Guest User

Untitled

a guest
Nov 16th, 2018
130
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // ==UserScript==
  2. // @name         4chan /g/ code linenumbers
  3. // @namespace    http://tampermonkey.net/
  4. // @version      0.1
  5. // @description  end the pain
  6. // @author       You
  7. // @match        https://boards.4chan.org/g/thread/*
  8. // @grant        GM_addStyle
  9. // ==/UserScript==
  10. GM_addStyle ( `
  11.     span.lineNumber {
  12.     color: #6E9B98;
  13. }
  14. ` );
  15. (function() {
  16.     'use strict';
  17.  
  18.     var codeblocks=document.getElementsByClassName("prettyprint prettyprinted")
  19.     for (var i=0; i < codeblocks.length; i++) {
  20.         var breakRowFromOneBlock=codeblocks[i].getElementsByTagName("br");
  21.         var indent=breakRowFromOneBlock.length.toString().length
  22.         var firstRowNum = document.createElement("SPAN");
  23.             firstRowNum.className="lineNumber"
  24.             firstRowNum.innerHTML="1"+" ".repeat(indent-1)+"|"
  25.         codeblocks[i].insertBefore(firstRowNum, codeblocks[i].firstChild)
  26.         if(breakRowFromOneBlock.length===1){
  27.             continue;
  28.         }
  29.         for (var j=0; j < breakRowFromOneBlock.length; j++) {
  30.             var singleBR = breakRowFromOneBlock[j]
  31.             var lineNumberElement = document.createElement("SPAN");
  32.             lineNumberElement.className="lineNumber"
  33.             var sub=(j+2).toString().length
  34.             lineNumberElement.innerHTML=(j+2).toString()+" ".repeat(indent-sub)+"|"
  35.             singleBR.parentNode.insertBefore(lineNumberElement, singleBR.nextSibling)
  36.  
  37.         }
  38.     }
  39. })();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement