mirror of
https://github.com/BookStackApp/BookStack.git
synced 2026-02-16 11:19:37 +03:00
Clicking inline code should copy code snippet to clipboard #1327
Closed
opened 2026-02-05 00:37:21 +03:00 by OVERLORD
·
5 comments
No Branch/Tag Specified
development
l10n_development
release
v25-12
llm_only
vectors
v25-11
docker_env
drawio_rendering
user_permissions
ldap_host_failover
svg_image
prosemirror
captcha_example
fix/video-export
v25.12.3
v25.12.2
v25.12.1
v25.12
v25.11.6
v25.11.5
v25.11.4
v24.11.4
v25.11.3
v25.11.2
v25.11.1
v25.11
v25.07.3
v25.07.2
v25.07.1
v25.07
v25.05.2
v25.05.1
v25.05
v25.02.5
v25.02.4
v25.02.3
v25.02.2
v25.02.1
v25.02
v24.12.1
v24.12
v24.10.3
v24.10.2
v24.10.1
v24.10
v24.05.4
v24.05.3
v24.05.2
v24.05.1
v24.05
v24.02.3
v24.02.2
v24.02.1
v24.02
v23.12.3
v23.12.2
v23.12.1
v23.12
v23.10.4
v23.10.3
v23.10.2
v23.10.1
v23.10
v23.08.3
v23.08.2
v23.08.1
v23.08
v23.06.2
v23.06.1
v23.06
v23.05.2
v23.05.1
v23.05
v23.02.3
v23.02.2
v23.02.1
v23.02
v23.01.1
v23.01
v22.11.1
v22.11
v22.10.2
v22.10.1
v22.10
v22.09.1
v22.09
v22.07.3
v22.07.2
v22.07.1
v22.07
v22.06.2
v22.06.1
v22.06
v22.04.2
v22.04.1
v22.04
v22.03.1
v22.03
v22.02.3
v22.02.2
v22.02.1
v22.02
v21.12.5
v21.12.4
v21.12.3
v21.12.2
v21.12.1
v21.12
v21.11.3
v21.11.2
v21.11.1
v21.11
v21.10.3
v21.10.2
v21.10.1
v21.10
v21.08.6
v21.08.5
v21.08.4
v21.08.3
v21.08.2
v21.08.1
v21.08
v21.05.4
v21.05.3
v21.05.2
v21.05.1
v21.05
v21.04.6
v21.04.5
v21.04.4
v21.04.3
v21.04.2
v21.04.1
v21.04
v0.31.8
v0.31.7
v0.31.6
v0.31.5
v0.31.4
v0.31.3
v0.31.2
v0.31.1
v0.31.0
v0.30.7
v0.30.6
v0.30.5
v0.30.4
v0.30.3
v0.30.2
v0.30.1
v0.30.0
v0.29.3
v0.29.2
v0.29.1
v0.29.0
v0.28.3
v0.28.2
v0.28.1
v0.28.0
v0.27.5
v0.27.4
v0.27.3
v0.27.2
v0.27.1
v0.27
v0.26.4
v0.26.3
v0.26.2
v0.26.1
v0.26.0
v0.25.5
v0.25.4
v0.25.3
v0.25.2
v0.25.1
v0.25.0
v0.24.3
v0.24.2
v0.24.1
v0.24.0
v0.23.2
v0.23.1
v0.23.0
v0.22.0
v0.21.0
v0.20.3
v0.20.2
v0.20.1
v0.20.0
v0.19.0
v0.18.5
v0.18.4
v0.18.3
v0.18.2
v0.18.1
v0.18.0
v0.17.4
v0.17.3
v0.17.2
v0.17.1
v0.17.0
v0.16.3
v0.16.2
v0.16.1
v0.16.0
v0.15.3
v0.15.2
v0.15.1
v0.15.0
v0.14.3
v0.14.2
v0.14.1
v0.14.0
v0.13.1
v0.13.0
v0.12.2
v0.12.1
v0.12.0
v0.11.2
v0.11.1
v0.11.0
v0.10.0
v0.9.3
v0.9.2
v0.9.1
v0.9.0
v0.8.2
v0.8.1
v0.8.0
v0.7.6
v0.7.5
v0.7.4
v0.7.3
0.7.2
v.0.7.1
v0.7.0
v0.6.3
v0.6.2
v0.6.1
v0.6.0
v0.5.0
Labels
Clear labels
🎨 Design
📖 Docs Update
🐛 Bug
🐛 Bug
:cat2:🐈 Possible duplicate
💿 Database
☕ Open to discussion
💻 Front-End
🐕 Support
🚪 Authentication
🌍 Translations
🔌 API Task
🏭 Back-End
⛲ Upstream
🔨 Feature Request
🛠️ Enhancement
🛠️ Enhancement
🛠️ Enhancement
❤️ Happy feedback
🔒 Security
🔍 Pending Validation
💆 UX
📝 WYSIWYG Editor
🌔 Out of scope
🔩 API Request
:octocat: Admin/Meta
🖌️ View Customization
❓ Question
🚀 Priority
🛡️ Blocked
🚚 Export System
♿ A11y
🔧 Maintenance
> Markdown Editor
pull-request
Mirrored from GitHub Pull Request
No Label
Milestone
No items
No Milestone
Projects
Clear projects
No project
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: starred/BookStack#1327
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @Wookbert on GitHub (Sep 1, 2019).
Describe the feature you'd like
It would be nice if clicking some at an inline code or code block, would copy that line or block straight to the computer’s clipboard. A notification „Copied to clipboard“ should appear for two seconds, then quickly fade away.
Alternatively one copy present a button „Copy to clipboard“, in case direct copy to clipboard on click creates a UI or logical problem.
Describe the benefits this feature would bring to BookStack users
One would be able to instantly insert the copied code into e.g. a shell/terminal window or code editor, without the need to carefully selecting the beginning and end of the text.
@ssddanbrown commented on GitHub (Sep 1, 2019):
Hi @Wookbert,
Thank you for your suggestion.
Code blocks already have such functionality. On hover of the block a copy button should appear so the entire contents can be quickly copied:
I'm not sure this functionality would suit inline code blocks though since there's limited space to add UI control and I wouldn't want to do it solely behaviour based (Click to copy) as it could cause confusing behaviour.
@Wookbert commented on GitHub (Sep 1, 2019):
I agree in that there isn't necessarily enough space for a clipboard icon to be permanently present on every inline code block, and that it might be visually distracting, especially when there are many code snippets close to each other.
Several possible, alternative solutions here:
A. A simple click onto an inline code block, marks the entire code block blue (as it does when in edit mode), automatically copies it to the clipboard, notification„Copied to clipboard“ appears for 1-2 seconds above the snippet. Blue text highlighting fades out.
In contrast: Clicking & dragging the text cursor allows you to select just a section from that inline code block, which does not get automatically copied to the clipboard (manual copy through CMD-C. Or: Temporarily make the Clipboard icon top right to the selected section appear, where clicking that icon would copy the selection, whereas clicking elsewhere would not copy it and deselect the text.
B. Same as in A. but on a single, simple click don't copy the entire block automatically, but also make the „manual“ Clipboard icon appear temporarily appear as in A’s partial selection handling.
I have to admit though that I see a little interference between the appearing Clipboard icon and this appearing thingy (what’s it called/named?) on a selection:
C. On single click on inline code block, neither copy automatically, nor display Clipboard icon. Simply highlight the entire block (as in edit mode) for manual copy. Clicking elsewhere deselects the block.
I guess one has to play around with the options to see which one works and feels best.
@nekromoff commented on GitHub (Sep 6, 2019):
One click selection is easy to be done using pure CSS, e.g.:
@ishtiyaq commented on GitHub (Jul 31, 2022):
Is it possible to implement if a code block has multiple commands then the user should be able to copy a particular line? Please check this URL https://goteleport.com/docs/setup/guides/docker/ for your reference.
@ssddanbrown commented on GitHub (Nov 8, 2022):
I'm going to close this off since there's been little demand since for such a feature but this could be easily hacked-in with a little JavaScript in the custom head setting. Just shout if you'd want an example of that.