将群组添加到 /about 页面

安装此主题组件

此组件允许您轻松地将更多群组添加到新的 /about 页面,有关该重新设计的更多详细信息,请访问:New and improved About page at /about is live

该组件包含以下设置:

  • about groups: 要在 about 页面上显示的群组,成员数为 0 的群组将自动隐藏。
  • show initial members: 每次加载时显示的每个群组成员数,其他成员将隐藏在“显示更多”按钮后面。
  • capitalize names: 自动将 about 页面上群组的名称首字母大写。
  • order additional groups: 按字母顺序(默认)、按创建顺序或按 about groups 设置的顺序排序 — 不影响现有管理员和版主群组的顺序。
  • show group description: 在群组标题下显示群组的描述(来自群组设置)。
19 个赞

太棒了,非常感谢!:clap:

是否可以添加一个新设置来使用组的全名?在其中显示 Unicode 字符会很好,但我不希望启用 unicode_usernames 站点设置。

5 个赞

太棒了,谢谢你 @awesomerobot :smiley:

我赞成这个提议。

我有一个名为 group-challenges-cmt 的组,其全名为 Challenges Committee,但在 /about 页面上显示为 group-challenges-cmt,这看起来不太好 :blush:

供参考,勾选 Capitalize the names of the groups on the about page 选项会将其从 group-challenges-cmt 更改为 Group-Challenges-Cmt - 这是正确的吗?或者该复选框只应大写组名的首字母?

奇怪的是,如果我将组 trust_level_4 添加到 about 页面,它在前端显示为 Trust Level 4 :thinking:

不过这太棒了,非常感谢 Kirs @awesomerobot,我现在可以摆脱多年前的 JS 代码了 :smiley:

6 个赞

添加一些视觉参考。

这是组名在管理页面上的样子:

这是组名在前端的样子:

我不知道你想在这个主题上走多远 @awesomerobot,你接受功能请求吗?:smiley:

如果能对组进行排序就好了。我尝试按不同顺序添加它们,以防它是按数据库 ID 排序的,但没有改变任何东西,所以我假设它是按字母顺序排序的。

是否可以修复组的成员对齐问题?

你会看到页面顶部的管理员是三列宽,而额外的组都是两列宽?:thinking:

还有,再说一遍:

:bowing_man:

4 个赞

这看起来很棒!谢谢你,Kris。我发现这是一种让人们了解网站组织方式的非常好的方式。网站群组页面上的许多群组没有意义,而且它是一个混乱的地方,而关于页面可以是一个更精心策划的目的地。

我想知道我们是否想在某个时候将此功能移至核心。收集一些反馈:

功能作为主题组件存在局限性:

  • 配置 UI 不在 /admin/config/about 中,而是在主题组件中
  • 不尊重 about page hidden groups 以排除不应在关于页面上显示的群组(参考
  • 包含群组的样式(例如列数)与管理员和版主列表不同,每次我们更改关于页面样式时都需要更新

已经分享了一些反馈:

  • 显示群组名称而不是 slug
  • 自动大写在某些情况下看起来不正确
  • 添加按群组排序的功能

我还认为提供更多群组元数据的快照会很有帮助,也许可以隐藏在群组名称旁边的信息按钮后面?

  • 描述
  • 群组所有者
  • 群组权限
  • 群组成员数
  • 指向群组页面的链接
3 个赞

或者,将群组标题设为指向群组本身的链接。

1 个赞

一些更新!

这个请求比我预期的要快 :slight_smile: 但我本该知道的。

我最初没有这样做的原因是我想避免额外的请求……但我想这是不可避免的。

主题组件的工作方式是将主题设置中的相应组与站点服务 (this.site.groups) 匹配——这包含 ID 和名称,但不包含全名……

然后将名称插入 /g/${name}/members 端点……其中包含组成员,但也没有全名……

所以要获取全名,我需要向 /g/${name} 发起另一个请求。

复选框启用了一些简单的 CSS,text-transform: capitalize,它将每个单词的首字母大写。

不过我完全忘记了 ::first-letter,我可以用它代替,所以我已经切换到它……这应该与我们默认的大写更一致。

如果有人想知道,包含这个关于大写的部分的原因是,自动组(如信任级别组)没有 full_name 字段,并且总是小写的。我们编织了一个多么纠结的网络 :sweat_smile:

我在组件中删除了下划线,但没有删除连字符……这次更新将同时处理两者(但仅针对 name,不针对 full_name

我添加了一个设置,选项包括:

  • 按字母顺序
  • 按创建顺序
  • 按主题设置顺序

请注意,这关系到附加组的顺序,不会影响管理员/版主——他们将始终显示在最前面

啊是的,Discourse 中有一些 CSS 只适用于版主和管理员组,我已经添加了一个修复

添加描述和组页面链接是简单的更改,我已经添加了它们(描述默认禁用,但可在设置中找到)。

组所有者是可能的,但目前我重用了核心组件 AboutPageUsers——而这需要修改才能在用户头像上显示所有者标识(我认为这可能是最好的位置)。

这个组件的复杂性增长得相当快,所以我将推迟其他请求,直到有人有具体需求为止。

5 个赞

太棒了!在一个主题组件中你能取得如此成就,真是令人印象深刻。

我不知道人们为什么要包含这些组……也许我们可以忽略大小写,允许它们是小写的。

我想知道过去是否有人请求为这些组提供全名——不确定为什么我们还没有。

3 个赞

这太疯狂了 :rofl:
我们怎么能从几天前的一个简单问题变成一个完美无缺的完整主题?!??
太棒了,简直太棒了 :chefs_kiss:
谢谢 Kris @awesomerobot :clap:t2: :bowing_man:t2:

5 个赞

我认为最常见的情况是显示信任等级 4,因为他们获得了一些审核权限。

3 个赞

当然,我明白了。但是,信任等级名称和描述无法编辑,所以我建议那些人创建一个新组,并将 tl4 用户包含在其中,并为其命名、添加标记和描述,使其适合社区。

我确实注意到关于“关于”页面上的信任等级组有一些奇怪的地方——并非每次查看时都如此,但组的成员身份没有正确显示。有时,即使我名义上是 tl2,但作为管理员却显示为 tl0。而且,由于我是管理员,信任等级无关紧要,所以我出现在那里本身就有点奇怪。但这只是 Discourse 信任等级及其工作方式的一个特点。

3 个赞

我为 TL3 设置了这个。我创建了一个新组,并通过 Discourse Automation 将 Regular 徽章与新的 TL3 组同步。


是的,我也注意到了。起初我用 CSS 隐藏了管理员,但这会破坏布局,所以我 移除了 Regular 徽章,因为自动化会为我同步。我不确定它以后是否会自动添加。希望不会。 是的,它又自动添加了,所以 CSS 现在可以正常工作了。


我还注意到组的成员在 JSON 中按降序排序。最好将其随机化或设置为按活动排序,也许是 ?order=last_posted_at?order=last_seen_at

3 个赞

That’s the very reason we do it on our community :blush:

Agreed.

I put a bit of CSS in place to hide our admin team members from the Trust Level 4 members that are displayed on our /about page.

This puts the spotlight on just those TL4 members, as they are to be thanked and congratulated for their contributions to our community:

I also found that trust level 4 was being displayed as Trust level 4 when ticked in the settings.

My OCD wasn’t happy about this because all the other groups had a capital letter at the start of each word :blush: I added another line of css to change Trust level 4 to Trust Level 4.

Everything is now as perfect as perfect can be.

Thank you once again @awesomerobot - we love it :chefs_kiss:

这就是我们在社区中这样做的原因 :blush:

同意。

我放置了一些 CSS 来隐藏我们的管理员团队成员,这些成员显示在我们 /about 页面的信任等级 4 成员中。

这使得焦点 放在那些 TL4 成员身上,因为他们因对我们社区的贡献而应受到感谢和祝贺:

我还发现在设置中勾选时,trust level 4 显示为 Trust level 4

我的强迫症对此并不满意,因为所有其他组的每个单词的开头都有一个大写字母 :blush: 我添加了另一行 CSS 将 Trust level 4 更改为 Trust Level 4

一切现在都完美无瑕。

再次感谢 @awesomerobot - 我们爱它 :chefs_kiss:

4 个赞

顺便问一下,这里的成员是如何排序的?

是按数据库中的 user_id 排序吗?

3 个赞

好问题,看起来实际上是按用户名的反向字母顺序排序的……这没什么意义,我将进行一次小更新,改为按字母顺序排序(这与完整群组页面的成员列表相同)

3 个赞

我怀疑在这里重新排序管理员超出了范围 :slight_smile:

谢谢 Kris,这次更新似乎重新排序了 Trust Level 4 用户组,但没有排序它下面的组? :thinking:

3 个赞

原始的“关于”页面将管理员和版主等分组按最后 seen 时间排序。

我在这里建议。

我认为使用类似的东西来保持原始组和自定义组的顺序一致会很好。 :thinking:

2 个赞

如果它们一直改变顺序,那就不一致了?:thinking:

这是一个很棒的组件。我认为它也可以成为改进群组页面的一部分基础。添加可折叠的标题以将群组组织到类别中。

2 个赞

当前运行 Discourse 3.5.0.beta1-dev (e26a1175d7) 并已安装此主题的当前最新版本。

我可以进行一次健全性检查/错误检查吗?

这是我的设置:

您会看到我在关于页面添加了两个组:

  • trust_level_4
  • group-challenges-cmt

这些组的可见性表现出一些意外行为。


管理员可以在关于页面上看到这两个组:


非管理员只能在关于页面上看到 trust_level_4 组:


未登录用户在关于页面上看不到任何组。


在我深入研究并怀疑是否有其他原因导致此问题(我有很多自定义 CSS)之前,能否请有人为我进行一次健全性检查,并确认他们的设置是否仍然正常工作?

1 个赞