201103.1 · b0cede129009f93bb298d16e1bf33d2e6e76a888
added plugins/outhtml_copy_clipboard.lua
reading declarations
Changes to plugins/outhtml_copy_clipboard.lua. All files
plugins/outhtml_copy_clipboard.lua
@@ -0,0 +1,48 @@++Description="Adds copy to clipboard button to HTML output (beta)."++Categories = {"format", "html", "usability" }++function syntaxUpdate(desc)++ if (HL_OUTPUT ~= HL_FORMAT_HTML and HL_OUTPUT ~= HL_FORMAT_XHTML) then+ return+ end++ function DecorateLineBegin(lineNumber)++ if lineNumber==1 then+ return '<input type="button" value="📋" class="hl_copy" style="position: absolute;right: 1em;">'+ end+ end++ FooterInjection=[=[+ <script type="text/javascript">+ /* <![CDATA[ */+ const hlButtons = document.querySelectorAll('input.hl_copy');++ hlButtons.forEach(cpButton => {+ cpButton.addEventListener('click', () => {+ const selection = window.getSelection();+ const range = document.createRange();+ range.selectNodeContents(cpButton.parentNode);+ selection.removeAllRanges();+ selection.addRange(range);++ try {+ document.execCommand('copy');+ selection.removeAllRanges();+ cpButton.value = "Copied.";+ } catch(e) {+ }+ });+ });+ /* ]]> */+ </script>+]=]++end++Plugins={+ { Type="lang", Chunk=syntaxUpdate },+}