Add Gruvbox share theme + blog system for Trilium (anonymized)
Blog generator, publish manager, share scripts, theme CSS, highlight.js bundles, font, favicon, templates and generated-reference outputs, plus an English installation guide.
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
<script>
|
||||
(function () {
|
||||
function codeText(code) {
|
||||
var ln = code.querySelectorAll(".hljs-ln .hljs-ln-code");
|
||||
if (ln.length) {
|
||||
var parts = [];
|
||||
for (var i = 0; i < ln.length; i++) parts.push(ln[i].textContent);
|
||||
return parts.join("\n");
|
||||
}
|
||||
return code.textContent;
|
||||
}
|
||||
|
||||
document.querySelectorAll("#content pre").forEach(function (pre) {
|
||||
if (pre.classList.contains("code-processed")) return;
|
||||
var code = pre.querySelector("code");
|
||||
if (!code) return;
|
||||
pre.classList.add("code-processed");
|
||||
|
||||
var btn = document.createElement("button");
|
||||
btn.className = "code-copy-btn";
|
||||
btn.type = "button";
|
||||
btn.textContent = "Copy";
|
||||
btn.addEventListener("click", function (e) {
|
||||
e.stopPropagation();
|
||||
var text = codeText(code);
|
||||
function copied() {
|
||||
btn.textContent = "Copied!";
|
||||
setTimeout(function () { btn.textContent = "Copy"; }, 1500);
|
||||
}
|
||||
if (navigator.clipboard && navigator.clipboard.writeText) {
|
||||
navigator.clipboard.writeText(text).then(copied);
|
||||
} else {
|
||||
var ta = document.createElement("textarea");
|
||||
ta.value = text;
|
||||
document.body.appendChild(ta);
|
||||
ta.select();
|
||||
document.execCommand("copy");
|
||||
document.body.removeChild(ta);
|
||||
copied();
|
||||
}
|
||||
});
|
||||
pre.appendChild(btn);
|
||||
});
|
||||
})();
|
||||
</script>
|
||||
Reference in New Issue
Block a user