作曲家按钮盛会

:information_source: 摘要 Composer Button Bonanza 允许站点管理员定义并向 Composer 工具栏添加新的标记按钮,并在其默认配置中提供大量新按钮。
:hammer_and_wrench: 代码库 centertap/DiscourseComposerButtonBonanza - Codeberg.org
:eyes: 自述文件 Making sure you're not a bot!
:spiral_notepad: 发行说明 Making sure you're not a bot!
:question: 安装指南 如何安装主题或主题组件
:heart: 赞助 由…为您带来 CTAP\u003cbr\u003e此主题组件由 Center for Transparent Analysis and Policy 开发,该组织是一家 501(c)(3) 非营利组织。如果此组件对您的站点有用,请考虑 捐款以支持 CTAP

安装 Composer Button Bonanza

“您负担得起的 Composer 辅助功能!”

Composer Button Bonanza 是一个主题组件,它为 Composer 提供了更多的标记按钮。

开箱即用,它提供了大量新按钮,一堆按钮,一个按钮的盛宴。默认配置在工具栏中添加了三个新按钮(您能找到它们吗? :smile:),并将其余按钮隐藏在 :gear: 弹出菜单的切换按钮后面:

单击切换按钮后,其余按钮将显示出来:

通过主题组件配置设置,您可以:

  • 添加新的按钮定义(和/或删除提供的定义);
  • 选择显示哪些按钮以及何时显示它们;
  • 更改按钮的顺序,并将按钮放置在工具栏或工具栏的 :gear: 弹出菜单中;
  • 为按钮提供翻译/本地化。

此组件不定义任何标记或样式——它只是添加方便的按钮(辅助功能!)来输入将调用现有样式的现有标记。其主要目的是帮助您的用户发现和使用 Composer 功能。例如,经常使用脚注的用户可能会直接在键盘上敲击 ^[];但我们其他人会乐于有一个 :asterisk: 按钮来提醒我们该做什么。

这种方法的优点是,如果您决定删除此主题组件,您将不会干扰任何现有帖子的样式。此组件不负责进行任何样式设置;它仅提供对 Composer 中已存在的功能,以及/或由其他插件或主题组件提供的功能的快捷方式。

默认配置

默认配置提供了大多数(全部?)额外标记的定义,这些标记在默认 Discourse 安装(启用了所有内置插件,未安装额外插件)中可用:

  • 文本样式:
    • 下划线删除线
    • \u003csup\u003e上标\u003c/sup\u003e 和 \u003csub\u003e下标\u003c/sub\u003e
    • \u003cbig\u003e大文本\u003c/big\u003e,\u003csmall\u003e\u003c/small\u003e
    • \u003ckbd\u003ekeyboard-style\u003c/kbd\u003e
  • 格式
    • \u003cbig\u003e\u003cb\u003e标题 1\u003c/b\u003e\u003c/big\u003e,\u003cb\u003e标题 2\u003c/b\u003e,\u003csmall\u003e\u003cb\u003e标题 3\u003c/b\u003e\u003c/small\u003e
    • 脚注[1]
    • \u003cruby\u003eRuby 文本\u003crp\u003e(\u003c/rp\u003e\u003crt\u003e ルビー テキスト\u003c/rt\u003e\u003crp\u003e)\u003c/rp\u003e\u003c/ruby\u003e
    • 通过外部 URL 添加图像 (\u003cimg\u003e)
    • 检查表
    • \u003cmark\u003e高亮显示\u003c/mark\u003e,\u003cins\u003e插入\u003c/ins\u003e,\u003cdel\u003e删除\u003c/del\u003e 文本
  • 符号
    • 版权 ©,注册 ®,商标 ™
    • 欧元 €,日元 ¥
    • “耸肩”颜文字(为什么不呢? ¯\\\(ツ)\/¯ )
  • 以及一个用于显示/隐藏上述大部分按钮的切换按钮

如上所述,这些仅仅是默认设置。所有这些按钮都可以重新排列或删除,也可以添加新按钮。


  1. …例如,像这样的脚注。 ↩︎

19 个赞

太棒了,谢谢!

有没有办法直接在顶部工具栏中添加“spoiler”标签?我们经常使用它。

编辑:我已经解决了 :smiley:

3 个赞

快捷方式如何工作?

我想为我的“隐藏内容”按钮创建一个键盘快捷方式,但大多数快捷方式不都是已经被其他功能占用了吗?

示例中说shift-4,但对我来说那是 $ 符号……

2 个赞

是的,非常好的组件。我在找那个在编辑器工具栏显示额外按钮的按钮。

我认为一个很酷的功能是添加一个按钮到编辑器工具栏。也许可以有两个选项:显示/隐藏和/或编辑器菜单。这样你就可以将功能分组到一个可选择的栏中。

比如说:

  • 样式栏:可以有加粗、斜体、删除线等功能。
  • 排版栏:表格、右对齐、居中等。
  • 并且可以选择自定义主栏,添加常用功能。

(请记住,此组件仅公开 Discourse JS 代码中已有的参数/选项……)

对于快捷键,您需要指定快捷键以及任何修饰键……然后 Discourse 始终会加上 ctrl+(或 Apple 硬件上的 cmd+?)。例如,字符串“shift+4”(作为按钮参数)会转换为 ctrl+shift+4(作为快捷键)。

:grimacing: 我还没有尝试找出一种方法来_移除_快捷键——同样,此组件是在 Composer 中已有的按钮基础上添加的。(我_希望_我能让 ctrl+e 成为预格式化文本的快捷键,而是“跳转到行尾”!)

2 个赞

h01y cr@p 这太棒了

2 个赞

我在这里遇到了一个问题,我正在使用它并且很喜欢它,但我添加了一个“spoiler”按钮,它使用 DIV 而不是 SPAN 来创建 spoiler 标签,因此在使用所见即所得编辑器时,它们总是会另起一行。

有什么方法可以更改此设置吗?

这还支持吗?

仍然遇到问题,剧透在 DIV 中而不是 SPAN 中。