Add Copy Button#911
Conversation
Click on the button to copy the content of the code block
…into essesoul-dev
|
Nice, thank you. |
septs
left a comment
There was a problem hiding this comment.
i'm not a reviewer, but i think this is not elegant
- i think it would be better to use
js.Buildpreprocessing
{{-
$defines := dict
"css_url" (resources.Get "js/clipboard.css").Permalink
-}}
{{- with resources.Get "js/clipboard.ts" (dict "defines" $defines) | js.Build | minify | fingerprint -}}
<script src="{{ .Permalink }}"></script>
{{- end -}}
- use
layouts/_default/_markup/render-codeblock.htmlhook, set page variable
{{- .Page.Store.Set "hasCodeblock" true -}}
see https://gohugo.io/render-hooks/code-blocks/
- use javascript dynamic loading stylesheet
declare const css_url: string
const stylesheet = document.createElement("link")
stylesheet.rel = "stylesheet"
stylesheet.href = css_url
document.head.appendChild(stylesheet)|
I was just about to research how to add a code copy button when I found this --- is this still being considered? |
|
innerText can add extra line breaks or modify spacing due to CSS/rendering. Anyway I already added this to my web repo directly and I like it, awesome. |
Prerequisites
Put an
xinto the box(es) that apply:Description
Click on the button to copy the content of the code block
One-click copying of the content of a block of code is achieved by creating the files
static/css/clipboard.cssandstatic/js/clipboard.jsUsers can now quickly copy the contents of a block by clicking the button in the upper right corner of the block.
Checklist
Put an
xinto the box(es) that apply:General
#<ISSUE_NO>if applicableResources
make releaseto regenerate all CSS filesContributors
CONTRIBUTORS.mdif you aren't on it already