Go.dev Code Highlight

Golang code highlighter

当前为 2023-12-19 提交的版本,查看 最新版本

  1. // ==UserScript==
  2. // @name Go.dev Code Highlight
  3. // @namespace GolangDevNamespace
  4. // @version 1.0.1
  5. // @description Golang code highlighter
  6. // @author Anton Vi
  7. // @match https://*.go.dev/*
  8. // @require https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/highlight.min.js
  9. // @require https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/languages/go.min.js
  10. // @grant none
  11. // @license GNU GPLv3
  12. // ==/UserScript==
  13.  
  14. (function() {
  15. 'use strict';
  16.  
  17. start();
  18.  
  19.  
  20. })();
  21.  
  22.  
  23. function start() {
  24.  
  25. let css = 'pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{color:#abb2bf!important;background:#282c34}.hljs-comment,.hljs-quote{color:#5c6370;font-style:italic}.hljs-doctag,.hljs-formula,.hljs-keyword{color:#c678dd}.hljs-deletion,.hljs-name,.hljs-section,.hljs-selector-tag,.hljs-subst{color:#e06c75}.hljs-literal{color:#56b6c2}.hljs-addition,.hljs-attribute,.hljs-meta .hljs-string,.hljs-regexp,.hljs-string{color:#98c379}.hljs-attr,.hljs-number,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-pseudo,.hljs-template-variable,.hljs-type,.hljs-variable{color:#d19a66}.hljs-bullet,.hljs-link,.hljs-meta,.hljs-selector-id,.hljs-symbol,.hljs-title{color:#61aeee}.hljs-built_in,.hljs-class .hljs-title,.hljs-title.class_{color:#e6c07b}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs-link{text-decoration:underline}';
  26.  
  27. let style = document.createElement('style');
  28. let cssText = document.createTextNode(css);
  29. style.appendChild(cssText);
  30. document.head.appendChild(style);
  31.  
  32. // loop pre-s
  33. let pre_s = document.getElementsByTagName('pre');
  34. for (let el of pre_s) {
  35. let text = el.innerHTML;
  36.  
  37. el.innerHTML = '';
  38.  
  39. let code = document.createElement('code');
  40. code.className = 'language-go';
  41. code.innerHTML = text;
  42. el.appendChild(code);
  43. }
  44.  
  45.  
  46. // load scripts with timeout
  47. setTimeout(() => {
  48. hljs.highlightAll();
  49. }, 100)
  50. }