We have a top secret project we’ve been working on in-house that would really benefit from a COPY TO CLIPBOARD feature for Discourse code blocks.
Others have encountered the problem too:
With a little bit of work we appear to have a great little working model (applied to the labs forum right here) that can be easily applied to other Discourse forums as follows:
- Go to “Admin” setting page and then select “Customize” in the top nav
- Click on the “Import” button, then Select “From the web” in the pop up dialog
- Copy and paste the following URL into the text field and then click the “Import” button in the pop up dialog
https://github.com/Daemonite/discourse-clipboard
Enable the newly installed theme or append it to another theme as a child component and you will be able to see a “Copy” button attached to every code block in your Discourse.
For example:
Copy text from a code block
Discourse uses ember.js
for internal navigation, so the DOM
will only be ready once. This plugin ties up the clipboard function with ember.js
via Discourse APIs, so the code runs when the content of a post is cooked
instead of on DOM ready
.