“自定义文章按钮”主题组件

:page_facing_up: 摘要 Discourse 自定义帖子按钮 将 Discourse 帖子中的链接转换为样式化按钮。
:hammer_and_wrench: 代码仓库 github.com/koloki-co/discourse-custom-post-button
:question: 安装指南 安装主题或主题组件
:books: Discourse 主题新手? Discourse 主题使用入门指南

安装此主题组件

这是一个由 Koloki Ltd 维护的社区主题组件。它不是官方的 Discourse 组件。目前处于 Alpha 阶段,可能存在错误。请在 GitHub 仓库 中报告错误或提出功能需求。

截图

按钮

特定用例:“通过私信向我们提问”按钮

功能

  • 使用 [wrap] 将主题或帖子中的普通链接转换为按钮。
  • 提供 TC 级别可配置的默认背景色、边框圆角、内边距、字体粗细、文本颜色以及悬停不透明度;否则使用您的站点默认设置。
  • 允许单个按钮覆盖默认背景色。
  • 支持在按钮旁边显示说明性文本。
  • 保持底层内容为普通链接,因此按钮可以打开外部页面或内部 Discourse 路由(如 /new-message)。

重要提示:如果安装了此 TC,您论坛上的任何用户都可以创建这些按钮。若要限制特定用户才能使用按钮功能,则需要一个完整的插件。不过,实际上,用户需要知道它已安装以及如何创建按钮,因此我怀疑很少有人会真正知道如何操作。您也可以使用 Watched Words 来过滤包含 [wrap=custom-button] 的帖子以进行审批,从而限制该功能的使用。

安装

管理 > 外观 > 主题与组件 中,打开 组件 选项卡,选择 安装,然后选择 从 Git 仓库 URL 安装。使用以下地址:

https://github.com/koloki-co/discourse-custom-post-button

安装后,将该组件添加到每个需要启用它的活动主题中。

用法

基本按钮

将使用 TC 设置中的默认按钮颜色

[wrap=custom-button][您的自定义按钮文本](https://example.com)[/wrap]

单个按钮颜色设置

[wrap=custom-button color=#7CC146][您的自定义按钮文本](https://example.com)[/wrap]

按钮后跟说明性文本

[wrap=custom-button][您的自定义按钮文本](https://example.com)[/wrap]
[wrap=text-after-button]额外的说明性文本[/wrap] (在新行上)

向群组发送私信

(注:这使用了 Discourse 内置功能来打开带有预填文本的编辑器——该功能部分并非来自主题组件,我只是用它来演示一个可能的用例。需要群组设置允许向该群组发送私信。)

[wrap=custom-button][向我们提问](/new-message?groupname=somegroup&title=Aask%20Us&body=Please%20type%20your%20question%20here.)[/wrap]

使用群组的 slugified name 而不是其“完整名称”,并对参数值进行 URL 编码。群组的 谁可以向该群组发送消息? 设置仍然决定谁可以打开已寻址的编辑器,未登录的访客将被要求登录。

设置

设置 用途
button_default_color 默认按钮背景和边框颜色
button_border_radius 按钮圆角半径
button_padding 按钮标签周围的间距
button_font_weight 按钮标签粗细
button_text_color 按钮标签颜色
button_hover_opacity 悬停时按钮的不透明度

该组件还暴露了一个 svg_icons 设置,用于可用的主题图标,但目前它不会在帖子按钮中插入图标。如果有需求,我会添加此功能。

备注

  • 该组件仅更改呈现方式。按钮仍然是链接,目标权限保持不变。
  • 电子邮件客户端和其他不加载活动 Discourse 主题的环境可能显示底层链接,而不带按钮样式。
  • 该组件根据 MIT 许可证 授权。

该组件源自在 如何在主题帖子中嵌入按钮 中讨论的同样有用的 [wrap] 模式。

6 个赞

你加入 @theme_authors 组了吗?

6 个赞

已发送加入请求,谢谢

3 个赞

我已经批准了你,并立刻把帖子移到了正确的版块 :slight_smile:

3 个赞