Discourse 贴纸

Discourse Stickers v2.0

此次发布对该组件进行了相当重要的现代化升级。除了多项内部改进外,贴纸配置也经过重新设计,使得管理大型贴纸集变得更加轻松。

:artist_palette: 完全重新设计的贴纸设置

v2.0 最大的变化在于贴纸配置本身。

旧版本将贴纸存储为包含以下值的 JSON 设置:

  • title

  • emoji

  • previewUrl

  • markdownUrl

在 v2.0 中,这已被替换为 Discourse 原生的 objects 设置类型

现在,每个贴纸都是一个拥有独立字段的正式可配置对象:

  • 标题 - 贴纸名称/工具提示文本

  • 分组 - 可选地将贴纸组织成组

  • Emoji 徽章 - 可选地在角落显示一个小 Emoji

  • 图片 - 通过设置直接上传贴纸

  • 分类 - 可选地将贴纸限制在特定分类中

  • 从私信中隐藏 - 控制贴纸是否在私信中可用

  • 聊天频道 - 可选地将贴纸限制在特定的公共聊天频道中

这使得贴纸配置更易于理解和维护,尤其是对于大型贴纸集而言。

:bento_box: 贴纸分组与筛选

现在可以将贴纸分配到 分组 中。

当存在多个分组时,贴纸选择器会自动在顶部显示筛选栏。

你可以在以下选项之间切换:

  • 全部

  • 各个分组

  • 其他,用于未分配分组的贴纸

筛选器是根据当前用户可用的贴纸动态生成的。

:label: 特定分类的贴纸

现在可以将贴纸可选地分配给特定的 Discourse 分类。

如果贴纸配置了分类,则仅在选择这些分类之一时,它才会出现在常规帖子/回复编辑器中。

如果未配置任何分类,则该贴纸在所有地方均可用。

:speech_balloon: 对聊天贴纸进行更多控制

v2.0 增加了对 Discourse 聊天中贴纸可用性的更多控制。

你现在可以:

  • 在私信中隐藏单个贴纸;

  • 将贴纸限制在特定的公共聊天频道中;

  • 将频道设置留空,以使贴纸在所有公共/分类聊天频道中可用。

这允许管理员为社区的不同部分维护不同的贴纸集。

:prohibited: 已发布的贴纸不再可点击

已发布的贴纸现在被视为非交互图像。

点击它们时不再打开 Discourse 灯箱。

这适用于:

  • 常规帖子中的贴纸;

  • 聊天中发布的贴纸。

目的是让贴纸的行为更像实际的贴纸/反应内容,而不是普通的上传图像。

:empty_nest: 更好的空状态

如果当前上下文中没有可用的贴纸,选择器现在会显示适当的空状态,而不是简单地显示一个空的选择器。

例如,当分类或聊天限制导致没有任何贴纸可用时,就会发生这种情况。

:counterclockwise_arrows_button: 现有的贴纸配置已迁移

v2.0 最重要的部分之一是,现有安装 无需重新创建其贴纸集

更新组件时,旧的 sticker_images JSON 设置会自动迁移到新的 objects 格式。

现有的贴纸标题和 Emoji 值将保留。

最重要的是,现有的上传贴纸图像也会自动迁移。

因此,如果你已经配置了数十个贴纸,升级到 v2.0 不需要你重新上传所有贴纸

旧的 markdownUrl 属性不再需要,也不会被迁移,因为新的 Image 字段代表了实际的 Discourse 上传。


3 个赞