oca
1
discourse-theme-category-homepage
我为我们社区论坛的新 category-box 首页做了大量工作。这个设计非常符合我们的特定需求,因此可能并不适合大多数人,但或许能从中获得一些灵感。
更新后/更新前
我们的特定用例
我们的社区涉及大量广泛的主题。我们联合了拥有各自成员的本地非政府组织(NGO),并且存在多个自治团体。每个团体都需要宣传其一项或多项行动,同时也需要一个私密空间来讨论这些行动。
我们相当一部分成员是老年人,任何超过三次点击的操作对他们来说都非常困难(因此,以常规方式管理通知级别对他们而言是不可行的)。
社区规模足够大,需要强大的分类系统,但用户的数字技能和意愿较低,因此我们需要尽可能保持操作简单明了。
话题组织
顶级分类用作社区主要目的的容器。
任何不属于特定群组的话题都归属于最接近的顶级分类,其主要要点可以通过标签进行标记。标签主要(但不一定)包含在顶级分类中。
每个非政府组织和地方团体都在最相关顶级分类的公共子分类中发布公告,并在私密子分类中默默开展工作。
因此,用户可以轻松找到关于我们主要目的(顶级分类)、特定主题(可能横跨多个目的的标签)或特定团体(公共子分类)的所有内容。
功能
- 高亮显示每个分类,使其感觉像是网站的一个完整板块。
- 使用粗体字体并为任何可点击元素添加图标,以便更容易聚焦于重要内容。
- 为每个分类添加额外内容:
- 常规帖子数量
- 通知级别选择器
- 一个链接“点击此处查看该领域的所有帖子”,以使其更加明确
- 添加与该分类相关的标签
- 添加标题以非常明确地表明这些是我们讨论的主要主题
- 这些标签通过主题设置进行选择
- 标签的显示方式使其看起来确实像标签,以便用户理解当我们使用“标签”一词时我们在谈论什么。
- 注意: 显示效果通过“标签图标组件”得到增强
- 为子分类添加标题,以非常明确地表明这些分类用于公告,并添加另一个标题以非常明确地表明这些子分类是私密的(是的,有一个锁,任何中等水平的用户都能理解。但是……)
- 大部分功能均可切换。
安装
注意:此组件仍处于 开发中 状态。我仍在对其进行更新,修复我传播到其他地方的 CSS 错误等。请多多包涵,如果发现任何异常请告诉我。
按常规方式安装该组件。如何安装主题或主题组件?
代码仓库:https://framagit.org/oca/discourse-theme-category-homepage.git
未来增强路线图
修复大量的 CSS 错误。
修复强制显示子分类分隔符/标题的问题,即使没有公共或私密子分类。
创建一个尽可能美观的分类页面,展示子分类框和话题。
一旦 Discourse 团队决定子子分类成为可能,立即更新所有内容(我知道,让我期待一下……)
我欢迎新功能建议,但仅当它们服务于我非常特定的用例或非常容易实现时,我才会将它们添加到此组件中。任何添加的新功能都将可切换。
26 个赞
HAWK
(Hawk)
2
[quote=“oca, 帖子:1, 主题:156954”]
有人能添加一个 Wiki 模式吗?这样我就可以在需要时更新首帖并添加主题组件标签。[/quote]
没问题,已搞定。
7 个赞
非常感谢你创建这个出色的组件,它太棒了!
有一个问题:是否可以在分类设置“包含特色主题的方框”中启用它?如果不能,这是否是一个可以实现的特性,或者你预见到会有什么困难吗?
祝一切顺利,再次感谢你的创作!
3 个赞
oca
4
你好,谢谢。
目前还无法实现(因为被调整的不是同一个区块),但这完全可以轻松实现。如果你愿意通过私信交流,我可以帮你完成;或者我也可以在有空时查看一下。不过,为此我需要你提供一个大致构想,说明你希望它如何呈现(以及内容将如何显示)。
4 个赞
完全理解。
对我来说,您的组件最出色的功能是为每个子类别添加通知状态铃铛,以及那种简洁而强大的方式,让用户可以自由调整列宽。就我的使用场景而言,如果在启用“带精选主题的方框”时也能提供这些功能,将完美契合我的需求。
我虽是个新手,但很乐意尝试实现。非常感谢您的任何指点,我也会仔细研究其他类别方框组件,希望能自己摸索出实现方法。我将在几周内抽出时间深入研究这个问题,一旦取得进展,会在此更新。
祝一切顺利。
3 个赞
oca
6
我曾遇到过困难,但发现其实并不难。
在主题组件中,将你的 Handlebars 组件修改为包含以下代码:
{{#each categories as |c|}}
...铃铛之前的一些内容...
{{category-notifications-button
value=c.notification_level
onChange=(action "changeCategoryNotificationLevel" c)
}}
...铃铛之后的一些内容...
{{/each}}
如果你不知道如何实现,Johani 的教程是完美的“首选参考”。
如果你发现如何在标签上实现相同功能,请告诉我!我找不到实现的方法。
5 个赞
pmusaraj
(Penar Musaraj)
7
@oca 我在核心代码中最近做的一项更改导致该主题组件的 SCSS 编译失败。修复方法很简单,需要从样式表中删除这两行:
@import "common/foundation/variables";
@import "theme_variables";
(第二行会导致 SCSS 编译错误,因为该文件已不存在。不过,这两行都是不必要的,因为核心变量和主题变量现在会在任何 SCSS 文件编译之前被注入。)
6 个赞
Fma965
(Fma965)
10
我希望我能弄清楚如何在移动设备上使用它,它在桌面上看起来很酷,但如果它在移动设备上不可用,那就有点没意义了,我相信有一个简单的方法,但我不知道如何,有人有什么建议吗?
1 个赞
Fma965
(Fma965)
11
抱歉重复发帖
我设法将 Categories Layout Override 整合到仅适用于移动设备
然后,通过使用我修改过的版本 GitHub - cyanlabs/discourse-categories-layout-override
我现在可以将覆盖设置为 categories_boxes

然后强制移动视图进入此插件运行所需的视图
平板电脑
移动设备
显然这不是一个理想的解决方案,但它有效,所以在有人提出更好的解决方案之前,这里有一个变通方法 
9 个赞
感谢您对“Categories Layout Override”主题组件的定制,但您能否与我分享“Enhanced category-box display component”主题组件的定制?我访问了您的网站,我很欣赏您在 class=“category-logo” 中使用“background-color”。
1 个赞
感谢您最近的定制,但随着最近升级到 ver 3.2.0.beta 4-dev,主题组件无法正常工作。我也希望移动显示定制能够集成到 discourse 的核心中。因为我想要一个从桌面到移动设备的同步体验。
1 个赞
最近升级到最新版本时,“discourse theme category homepage”主题组件在移动设备上不再起作用,并且我一直收到以下消息:
这是我的网站 https://businesslab.vn/categories
2 个赞
david
(David Taylor)
16
您好 @hoangphuctran93,我已经将您的帖子移至相关主题组件主题(抄送 @oca)
4 个赞
stephtara
(Stephanie Booth)
17
哦,这听起来对我来说会非常有用!活跃的支持社区,有各种各样的话题,但人们可能只会停留在巨大的花园中的一个小情节里,许多人的数字素养较低。看到它似乎坏了很遗憾,我还是会试一试的。@oca 你那边还在积极使用它吗?
请小心使用 #broken 标签,它_会_导致问题。
我会考虑默认静音所有分类,并准备带有 #welcome 标签的主题来概述可用的分类。当您将一个组与一个分类关联起来进行“关注”时,您可以创建一个渐进式的体验,人们可以加入组来解除静音/发现分类。通过很少的欢迎主题,您可以为读者提供可用内容的概述,并让他们选择想要参与的位置。记录通知也很重要,以避免信息过载。
您可以尝试安装主题组件……但不要在您的生产系统上安装 
1 个赞