Add <br> around <code> tags on FreeCodeCamp

Adds <br> before and after <code> tags on FreeCodeCamp

目前為 2023-11-20 提交的版本,檢視 最新版本

  1. // ==UserScript==
  2. // @name Add <br> around <code> tags on FreeCodeCamp
  3. // @namespace http://tampermonkey.net/
  4. // @version 0.2
  5. // @description Adds <br> before and after <code> tags on FreeCodeCamp
  6. // @author Geromet
  7. // @match https://www.freecodecamp.org/learn/*
  8. // @grant none
  9. // @license MIT
  10. // ==/UserScript==
  11.  
  12. (function() {
  13. 'use strict';
  14. function addLineBreaks() {
  15. const codeElements = document.getElementsByTagName('code');
  16. for (const codeElement of codeElements) {
  17. const prevSibling = codeElement.previousSibling;
  18. const nextSibling = codeElement.nextSibling;
  19. if (prevSibling && prevSibling.tagName === 'BR' && nextSibling && nextSibling.tagName === 'BR') {
  20. continue;
  21. }
  22. const lineBreakBefore = document.createElement('br');
  23. codeElement.parentNode.insertBefore(lineBreakBefore, codeElement);
  24. const lineBreakAfter = document.createElement('br');
  25. codeElement.parentNode.insertBefore(lineBreakAfter, codeElement.nextSibling);
  26. }
  27. clearInterval(intervalId);
  28. resizeWindow();
  29. setTimeout(restoreWindowSize, 1000);
  30. }
  31. function resizeWindow() {
  32. window.resizeTo(window.innerWidth - 420, window.innerHeight);
  33. }
  34. function restoreWindowSize() {
  35. window.resizeTo(window.innerWidth + 420, window.innerHeight);
  36. }
  37. const intervalId = setInterval(function() {
  38. const codeElements = document.getElementsByTagName('code');
  39. if (codeElements.length > 0) {
  40. addLineBreaks();
  41. }
  42. }, 100);
  43. })();