Golang code highlighter
当前为
// ==UserScript==
// @name Go.dev Code Highlight
// @namespace GolangDevNamespace
// @version 1.0.2
// @description Golang code highlighter
// @author Anton Vi
// @match https://*.go.dev/*
// @require https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/highlight.min.js
// @require https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/languages/go.min.js
// @grant none
// @license GNU GPLv3
// ==/UserScript==
(function() {
'use strict';
start();
})();
function start() {
let css = `
pre {
padding: 0;
}
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
}
`;
let style = document.createElement('style');
let cssText = document.createTextNode(css);
style.appendChild(cssText);
document.head.appendChild(style);
// loop pre-s
let pre_s = document.getElementsByTagName('pre');
for (let el of pre_s) {
let text = el.innerHTML;
el.innerHTML = '';
let code = document.createElement('code');
code.className = 'language-go';
code.innerHTML = text;
el.appendChild(code);
}
// load scripts with timeout
setTimeout(() => {
hljs.highlightAll();
}, 100)
}