# Composer Button Bonanza

**URL:** <https://meta.discourse.org/t/composer-button-bonanza/352525>\
**Category:** Theme component\
**Tags:** composer\
**Created:** [February 16, 2025, 5:07am UTC](https://meta.discourse.org/t/composer-button-bonanza/352525 "2025-02-16T05:07:12Z")\
**Posts on this page:** 1\
**Showing post:** 34

<div class="post-metadata">

**Author:** ![Canapin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/canapin/32/119591_2.png) [@Canapin](https://meta.discourse.org/u/Canapin)\
**Post date:** [April 20, 2026, 2:58pm UTC](https://meta.discourse.org/t/composer-button-bonanza/352525/34 "2026-04-20T14:58:25Z")

</div>

Hey!

This is a fantastic component I overlooked.

I was working on my own version of a similar theme component, which allows adding custom keyboard shortcuts for custom wraps (either `[wrap]`-kind or any allowed HTML / markdown / Discourse-specific content).

For example, I can define Ctrl+Shift+K to insert or wrap selection with `<kbd>` `</kbd>`, or `<hr>`, or `[wrap=announcement]` `[/wrap]` (either inline or block) or anything we’d like, and also added optional buttons in the gear menu.  
It supports new lines with `\n` in the content we insert.

It’s also compatible with the rich editor. The code for reference: [https://github.com/Canapin/discourse-custom-shortcuts](https://github.com/Canapin/discourse-custom-shortcuts), with a warning: it’s Claude-coded and I haven’t reviewed the code yet. Plus, if I were to continue making my own solution instead of using yours, I’d probably change or add features to use some of yours.

Here’s what my component looks like:

 ![image](https://global.discourse-cdn.com/meta/original/4X/1/2/e/12ebc119780ad4268b8e10200aa6e77998eccca5.png)  
 ![image](https://global.discourse-cdn.com/meta/original/4X/7/2/c/72c412d9ace7a52fdf5de41577d7529de14dfb93.png)  
 ![image](https://global.discourse-cdn.com/meta/original/4X/2/e/6/2e65933ae2e4b6506e96af14101870432a759feb.png)

* * *

So to get back to your component, I like the versatility of it, but it lacks two fundamental things for me:

- Rich editor support
- Easy way to add custom content (custom wraps, tags, or others)

While I can vibe code my own things, I’m not comfortable enough to rely on AI to propose pull requests (for example the rich editor support) for your component, and I’m not a programmer.

Besides the rich editor thing, what’s your opinion about the feasibility of adding new custom content from your component (basically that I described of my own component)? Would it be accepted or is it out of its scope?

---

_[View the full topic](https://meta.discourse.org/t/composer-button-bonanza/352525)._
