blake
(Blake Erickson)
1
Discourse 更新于 2023-11-13T05:00:00Z 或之后将包含此更改。
为了统一用户界面中类别的样式(例如在侧边栏中,或在聊天或帖子中提及类别时),我们将从 category_style 站点设置中移除非默认的类别样式,并最终完全移除此设置。
对于已经在使用默认(项目符号)类别样式的用户,无需采取任何操作。
对于正在使用非默认(项目符号)类别以外的用户,我们有一个新的主题组件,您可以立即安全地安装。通过这样做,即使我们最终在 3.2 正式版发布之前移除此核心设置,您的站点也将继续使用您现有的类别样式设置。
如果您不特别喜欢非默认的类别样式,我们鼓励您切换回默认(项目符号)样式,以避免在您的站点上需要额外的 <$>主题组件</>。方法如下:
无需安装任何内容即可切换回默认的项目符号样式。
查找 category_style 管理员设置,并将其更改为“bullet”,使其看起来像这样:
以下是步骤:
- 前往您站点的
/admin
- 从菜单中选择 SETTINGS
- 搜索“category style”
- 选择“category style”下拉菜单,然后选择“bullet”(或选择 RESET 以将其改回默认值,即 bullet)
完成上述操作后,您将在显示类别的所有位置看到项目符号样式。
很快,对于所有未使用默认类别样式的站点,管理仪表板上将出现一个通知,告知它们需要安装 Category Badge Styles 主题组件。
安装主题组件后,请选择您希望继续使用的现有类别样式。请注意,此处所做的任何选择在类别样式设置从核心移除之前都不会生效。此措施是为了确保无缝过渡。
22 个赞
manuel
(Manuel Kostka)
3
同样的问题……使用类别图标时,类别样式通常设置为 none,否则它将同时显示图标和项目符号,就像现在这样:
这会合并到“类别图标”组件中,还是我们需要两个组件(或自定义样式)来实现带图标的纯样式?
另外一个反馈:
现在侧边栏的样式看起来像项目符号徽章,但它们不是同一类元素,也不是由同一样式声明定义的。所以想知道类名和样式声明是否也会统一?
例如,当您想要圆形项目符号时,会显示:
这可以通过对项目符号徽章进行简单声明来完成:
.badge-wrapper.bullet .badge-category-bg {
border-radius: 10px;
width: 9px;
}
在侧边栏显示相同的纯色圆形项目符号会更复杂。(默认情况下,它们会混合父类别和子类别的颜色进行渐变声明)例如,我最近做了这个:
.sidebar-section-link-prefix > span {
// 将潜在父类别的背景色移出视图
background-size: 15px 15px !important;
background-position: right center !important;
}
.sidebar-section-link-wrapper .sidebar-section-link-prefix .prefix-span {
width: 0.5em;
height: 0.5em;
border-radius: 50%;
}
15 个赞
所以,官方的 Discourse 站点(就是这里,meta.discourse.org)也会恢复成项目符号样式吗?(因为我注意到你们的某些分类也在使用“盒子样式”)。我不明白移除这些功能正常的特性。是为了维护代码太麻烦了吗?还是为了将来推广/销售相同的主题组件?
1 个赞
category style 设置用于分类徽章的样式,而不是分类页面的布局:
这是“box”版本:
与默认的“bullet”版本相比:
随着 sidebar 和 hashtag-autocomplete 的引入,这些样式在 UI 的所有元素中不再那么协调,而且由于大多数网站都坚持使用默认设置,因此为仍想要这些样式的用户创建一个主题组件并从核心中移除该设置以简化整体是合理的。
由于我们所有的主题组件都是免费提供给所有人的,我们不寻求任何销售机会。 
13 个赞
如果我正确理解了 Blake 在第一篇帖子中的意思,这里不会移除任何东西,您将能够使用新的 GitHub - discourse/discourse-category-badge-styles: Adds the box and bar style for Discourse categories 主题组件将您的站点配置为像现在一样的行为。只需安装它并将类别样式设置为 none。您可以立即执行此操作,即使它目前没有任何效果,因为 category style 站点设置仍然存在。
这是主题组件设置的样子:
4 个赞
Firepup650
(Firepup Sixfifty)
7
这实际上引起了我另一个问题,因为类别目前会禁用“无”显示样式的颜色选择,TC 会匹配该行为,还是仍然允许选择颜色?如果它允许颜色选择,那么类别的颜色配置会容易得多。
3 个赞
我在我的网站上试了一下,发现“box”选项的样式有显著差异。
这是在没有主题组件的情况下它的样子:

加上主题组件后(.badge-wrapper.box 的内边距更大,以及 var(--category-badge-text-color) 的蓝色字体):
8 个赞
此主题组件在 Discourse 中合并移除备用样式所做的更改之前将无法正常工作。我们目前的工作在一个分支上,https://github.com/discourse/discourse/tree/category-bullet-only… 该主题组件在该分支上可以正常工作。这仍是一项进行中的工作。
类别图标组件将需要重构,我们可以在此更新发生之前进行处理。
对于带有图标的默认项目符号类别样式,应由该组件处理……但对于附加的框/条样式,将需要两个组件。
提及(如 Announcements)也是如此。我们研究过这个问题,结果是使用共享组件过于复杂……但我可以再看看我们能在多大程度上镜像不同样式之间的 HTML 和 CSS。
有几个原因,但默认的项目符号样式是我们托管的绝大多数站点使用的样式,并且随着我们引入侧边栏和类别提及(如:Announcements)等新功能,多种样式使事情复杂化。
支持多种变体意味着我们必须为所有变体进行 3-4 次的兼容和测试。当一项功能纯粹是视觉上的,并且只有一小部分站点使用时,这很难证明其合理性。将此类内容移至主题组件意味着我们可以简化 Discourse,同时仍然支持使用备用样式的站点。
我们通常不销售主题组件,但我们会为企业客户构建自定义组件。目前没有计划改变这一点。
目前没有计划,但这情况类似,大多数站点(绝大多数)使用默认样式。如果我们这样做,我们可能会遵循类似的计划,并通过主题组件支持已移除的样式。
13 个赞
ecki
(Bernd)
13
那么如何恢复默认设置以消除警告?将类别徽章样式设置为项目符号?
3 个赞
是的,没错。没有立即更改的紧迫性,但在此之前,您将在管理员主页上收到警告。
4 个赞
Jagster
(Jakke Lehtonen)
15
那个辅助组件会在某个时候开始工作,然后隐藏项目符号吗?因为现在它会原封不动地留下项目符号,并且还会显示图标(对我来说,有无和类别图标)。
2 个赞
blake
(Blake Erickson)
16
我们刚刚发布了对主题组件的更新来解决这个问题。因此,您可以更新到最新版本并启用它。
这将允许您在主题组件中选择现有的类别徽章样式,但目前还没有任何效果。
3 个赞
Firepup650
(Firepup Sixfifty)
17
我将我们的论坛重置为项目符号,并将主题组件设置为无,但项目符号仍显示出来,这是故意的吗?
3 个赞
blake
(Blake Erickson)
18
如果您想要“无”,目前应将它们都设置为“无”。这样,当核心更新后(我们仍在处理核心的更新),该主题组件将知道将您保留在“无”设置。目前优先级仍然是核心设置,但很快将是您在主题组件中选择的设置。
4 个赞
ecki
(Bernd)
20
谢谢,项目符号(bullet)有帮助。事实上,它看起来还不错,我记得以前项目符号(bullet)更小,所以才使用了线条。(但也许那是我的主题更改了,我不知道)。
4 个赞
brianTRC
(Brian Lockwood)
21
是否有安装过程的视频?我发现边观看过程边阅读说明很有帮助。我很少对我们的网站进行更改,因为我担心自己会错误地进行重大更改而无法修复。
2 个赞