Discourse 生日/周年纪念日今日(横幅)

:information_source: 摘要 在网站上添加一个横幅,显示今天的周年纪念日和生日。
:eyeglasses: 预览 Theme Creator
:hammer_and_wrench: 代码库 GitHub - NateDhaliwal/Discourse-Birthdays-Anniversaries-Today
:question: 安装指南 如何安装主题或主题组件
:open_book: 初次使用 Discourse 主题? Discourse 主题使用入门指南

安装此主题组件

:backhand_index_pointing_right: 既然 Cakeday 插件已包含在核心中,则无需单独安装该插件即可使用此主题组件。

概述

此主题组件会在网站主页的顶部放置一个横幅,显示当天的生日和周年纪念日。

设置

banner_location 设置允许您选择横幅的放置位置。可用选项包括:

  • above-site-header
  • below-site-header
  • above-main-containter

banner_text_colorbanner_background_color 设置分别更改横幅的文本颜色和背景颜色。您可以输入 Discourse CSS 变量,如 var(--primary)var(--tertiary),或十六进制值。

此外,anniversaries_textbirthdays_text 设置允许您分别为庆祝该事件的用户数量使用占位符 %{count}

显示的用户名不会被 ping:它使用 \u003ca class=\"mention\"\u003e 来显示用户。如果您点击用户,仍会显示每个用户的用户卡片。

屏幕截图:

桌面版:


移动版:


附加信息

数据分别从 /cakeday/anniversaries/today.json/cakeday/birthdays/today.json 获取,用于显示用户。

我看到 Discourse 并想到,既然 Cakeday 插件已安装,为什么用户不庆祝其他用户的生日和周年纪念日呢?我们过去在一个论坛上做过这样的事情,Meta 上也有。通过这个主题组件,您可以与用户一起庆祝他们的特殊日子,从而促进一个更具包容性的社区。

9 个赞

您现在可以自定义横幅的背景和文本颜色。

我可能会添加一个 @if 语句,这样就不需要使用 var() 关键字了。

1 个赞

您好,感谢您的反馈。是否可以在没有数据时隐藏横幅,而不是显示“无内容可显示”的消息?

3 个赞

没问题,我本来也打算这么做。

2 个赞

这将需要一段时间才能完成,因为我需要修复它。我不得不更新一些获取器以使用正确的名称并进行调试。仍在处理中。
编辑:现在已恢复。让我对新设置进行一些最终测试。

2 个赞

更新:控制此设置存在一些问题。我怀疑是因为我正在使用的异步 fetch()。我很快会再看看。

1 个赞

暂时将此标记为 broken,以便我进行修复。

@patrickemin 现在准备好了!您现在可以使用 hide_unused_data 设置来隐藏未使用的周年纪念日或生日。
抱歉延迟了;我当时在国外。

2 个赞

您好,容器上方有一条蓝色的空行,因为没有要显示的数据:

1 个赞

好的,我会着手修复!

2 个赞

我回来修复这个问题。对代码进行了彻底的改造,以简化整个过程。另外,如果当天没有纪念日/生日,它会自动隐藏。(我还本地化了 TC 和设置的描述)

引入了 2 个新设置:anniversaries_textbirthdays_text。您可以使用占位符 %{count} 来表示庆祝该事件的用户数量。

如果您遇到任何错误或问题,请及时反馈!

2 个赞