主题相对缺乏——是我错过了什么吗?

不太确定该发在哪里,如果发错了请见谅。

首先,我希望这不会被视为单纯的抱怨,这绝非我的本意。我热爱并使用 Discourse,过去六个月里,我为自己、客户和朋友部署了多个 Discourse 实例。总体而言,满意度很高,特别是在功能和自定义方面(如主题组件、插件等)。

不过,在这个过程中,我确实注意到主题选项相对较少,尤其是与 WordPress 或其他许多论坛系统相比。例如,我尚未找到像其他系统那样存在的第三方主题市场。在 Meta 板块中,许多主题看起来相当陈旧,尽管幸运的是它们通常也得到及时更新。此外,大多数主题似乎都由极少数人创建。作为对比,这是 myBB 的主题目录(myBB 甚至不是 Discourse 最受欢迎的竞争对手之一),包含约 150 个主题:

NodeBB 似乎也有类似较少的主题数量。:thinking:

另一件事是,即使在现有主题中,似乎也没有太多变化。我欣赏大多数主题坚持相对“简洁”的设计,我个人确实不想要传统(如 SMF、vB、phpBB 等)的外观,但我不禁怀疑,这是否是因为主题系统存在根本性的限制。如果是这样,也许这在开发过程中未被优先考虑;如果需求不大或问题难以解决,我也能理解。但至少希望了解这一点。

那么,为什么存在这些差异呢?Discourse 相当受欢迎,不是吗?主题调整是否只是大多数 Discourse 管理员不太关心的事情?或者他们通常更有能力自己创建主题,因此市场不大?如果是这样,这是否是一个“先有鸡还是先有蛋”的问题(即缺乏简单可用的自定义资源,劝退了更多寻找论坛选项的新手管理员)?

明确一下,我并不是说 myBB 或 WordPress 更好,我当然更偏好 Discourse。但我希望随着时间的推移,这方面能有所改进,因此我提出这个问题,更多是作为一个开放性的讨论点。这也与我参与的一个话题相关(我需要重新跟进!)讨论 Circle 平台可能做得“对”的地方(针对某一类用户)。我继续看到诸如“简化”界面之类的功能,可能有助于吸引新用户,我希望能通过主题系统至少部分实现这些目标。

我也完全愿意在有需要的情况下付费开发主题,我知道在 Marketplace 中至少有几个人可以做到这一点。我真正想了解的是,现有主题选项和多样性看似不足的原因可能是什么,以及我是否遗漏了某些主题资源。

谢谢!

12 个赞

你好,感谢提出这个问题。这确实是我一直在积极思考的事情。

您说得对,主题的变化确实有限,但这并非主题系统本身的限制。我们曾为托管客户构建了大量风格迥异的定制主题,只是开源社区似乎对这类主题的需求不大。

我们已意识到这一问题,并在内部进行了讨论。我们的设计团队正积极开发一些不同的主题变体和主题组件,以便添加到设置向导中。敬请期待!

14 个赞

太棒了,谢谢,这非常令人鼓舞!我真的很想知道,这是否如我所推测的那样,是一个“先有鸡还是先有蛋”的问题:也就是说,一旦有更多主题出现,是否会有更多人进来使用它们……

实际上,这也引出了一个问题,或许你也能回答:你们如何衡量“开源社区对主题的需求”(或来自非客户群体的整体兴趣)?另外,当你们提到“开源社区”时,是指所有未使用 Discourse 官方托管服务的用户吗?例如,那些使用 Communiteq 的用户是否也被视为其中的一部分?

5 个赞

没有具体的衡量标准,只是基于像你这样的请求,以及非我们团队成员所构建的主题的性质,这些都属于轶事证据。

是的,我的意思正是如此。指任何不是我们付费客户的人。

6 个赞

顺便问一下,您有可以分享的示例吗?我非常希望能看到更多可能的实现方式。

2 个赞

没问题。这些并非全部由我们制作的示例,但它们展示了多种不同的可能性。

https://forums.babypips.com/

https://forum.figma.com/categories

https://chatterbug.com/community/

https://community.automationcloud.net/

https://community.atlasobscura.com/

https://community.wirexapp.com/categories
https://discuss.codecademy.com/

18 个赞

只需访问客户页面,这正是它的用途:https://www.discourse.org/customers

3 个赞

感谢您的指点。不过,其中有不少案例相对“常规”,而“客户”页面中并没有任何内容明确传达出“我们为这些网站打造了截然不同的定制主题"这一信息,而这正是我特别想了解的。换句话说,该页面(可以理解地)更侧重于在使用 Discourse,而非他们使用或设计的独特性,亦非 Discourse 团队是否为他们专门进行了主题定制工作。老实说,我认为可以为此页面增设一个额外的分类或筛选条件:展示 Discourse 团队曾为其提供定制设计/主题服务的客户。

无论如何,我理解这些信息可供大家自行筛选,以找到各自所需的内容。同时,我也非常感谢 @HAWK 花时间指出一些更直接契合我所表达兴趣的具体案例。

6 个赞

好的!听起来您有非常具体的需求。您可以考虑聘请专人协助您满足这些需求,以加快您的体验进程。

4 个赞

完全同意。我们正在更新该部分,以展示更多样化的设计选项。

8 个赞

你看到 Search results for '#theme' - Discourse Meta 中超过 150 个条目了吗?其中许多带来了显著的功能改进。而在 Search results for '#theme-full' - Discourse Meta 中仅有约 40 个项目,其中一些也对界面外观进行了相当重要的调整。

主题数量之所以没有达到数百个,一个原因是缺乏主题市场。我认为这是因为许多开发者都是坚定的开源支持者。从某种意义上说,这其实是一件好事,因为它不会让成千上万的人出于偶然能借此获利的想法而去创建一些微不足道的主题。

大多数情况下,如果你明确知道自己需要什么,可以在 Marketplace 频道中提出请求。

3 个赞

我不确定这是否真的会影响主题的数量或其他人制作主题的意愿,但就我个人的经验而言,Discourse 的 HTML 标记和 CSS 类结构并非为便捷或高效的主题定制而精心设计的。

如果你想仅通过 CSS 进行主题调整,那么这些更改在大多数情况下会与论坛的标记和类紧密耦合(除非你也修改了 HTML,否则这些标记和类并不属于主题本身),简单的调整往往比预期需要更多的工作量。例如,因为缺乏统一的选择器。以帖子之间的分隔线为例,它实际上并非单一边框,而是分散在头像组件和帖子正文之间。你无法简单地调整它,因为必须考虑到其他以不明显方式与之交互的元素。

就我个人而言,这意味着我只愿意进行非常微小的更改,避免试图改动太多。我担心未来的论坛更新会破坏我的修改,而且很难追踪如何修复它们。

9 个赞

是的,帖子上方的边框就是一个很好的例子……我认为当前的标记结构已经有 5 年以上的历史了,甚至可能是旧版默认布局的遗留产物。

边框的改动似乎并不需要大规模的重构,但为了达到目标,我们仍需要修改相当多的 CSS 和 HTML,因为 topic-avatartopic-body 的父容器宽度并不适合设置边框……如果我们调整父容器的宽度或引入新的容器,就会引发更多改动,而这些改动又可能引发连锁反应……结果一下子就可能演变成对整个帖子容器的重构。一旦完成这些改动,我们还需要协助客户适应变化,并更新我们已构建的主题……因此,这可能是一个相当繁琐的过程。

虽然我很希望能像这样简单搞定:

.topic-post {
  border-top: 1px solid red;
}

……但要实现这一点会耗费大量时间,并破坏现有主题。相比之下,只需增加一个选择器,其难度远小于重构标记:

.topic-avatar,
.topic-body {
  border-top: 1px solid red;
}

当然,如果你需要多次重复类似的操作,数量一多确实会让人感到沮丧。我每天都在处理 Discourse 主题,所以我完全理解这一点!

话虽如此……我们确实计划在不久的将来更新主题列表和主题页面的标记。我们已于去年停止支持 IE11,因此现在可以用更简洁的方式构建结构,从而更好地利用现代 CSS 布局特性,如 Flexbox 和 Grid。这也将使进行更大幅度的布局变更变得更加容易。

自停止支持 IE11 以来,我们也开始更多地使用 CSS 自定义属性,这有助于简化样式设计,同时配合底层的大规模改进。我们不再需要为两个独立的元素分别设置样式,而是可以这样做:

.topic-post {
  --border-color: red;
  .topic-avatar,
  .topic-body {
    border: 1px solid var(--border-color);
  }
}

然后主题可以这样覆盖:

.topic-post {
  --border-color: green;
}

tl;dr:我们听到了您的反馈!我们也在思考如何降低这些障碍!

24 个赞

真的很喜欢
https://community.automationcloud.net/

https://forums.babypips.com/t/what-annoys-you-most-in-forex/70821/549

对我在夏天升级论坛时很有启发。

7 个赞

另外补充一点:企业客户往往存在合同限制,从法律角度而言,这些限制实际上禁止我们讨论这些客户及其定制内容。这很遗憾,但又能怎么办呢?我们必须维持公司运营,支付在这里工作的员工的薪资。对此我感触颇深;我的职责是确保 Discourse 的正常运转,让我们的团队能够养家糊口,并拥有稳定的收入来源。:woman_shrugging:

好消息是,这些大量的定制功能最终会随着时间的推移逐步融入开源代码库。但这确实需要时间。

12 个赞

由于我同时在多个 Discourse 项目上工作(大多是为他人服务),需求多种多样,预算也各不相同。但我确实将定制开发纳入考量,并在资源允许的情况下非常乐意采用这种方式。

太好了!很高兴听到您也意识到这方面的需求。

确实看过!主题组件是我最喜欢 Discourse 的原因之一,我广泛使用它们。不过,尽管大多数主题组件功能各异,系统的核心美学以及“易用性”和“简洁性”仍然保持相当一致。

非常感谢提供这一视角。我对 CSS 并不精通,远不足以自信地断言 Discourse(或任何工具)的架构存在缺陷,而不是我自身理解的局限。很高兴得知这里确实有改进空间。

这真是令人振奋的消息。我完全理解彻底改造系统所面临的困难,以及一个看似微小的提议变更为何可能引发一系列连锁反应。很高兴看到尽管挑战重重,内部仍有一股推动持续改进的动力。顺便说一句,感谢您为主题和主题组件所做的一切工作!我经常使用您的创作。:slight_smile:

感谢您的分享示例。其中 BabyPips 的案例尤其令人印象深刻且有趣!

确实如此!当我询问是否有“可以”分享的示例时,我隐含地理解到这一事实,但我也意识到这可能不够清晰或明确。

我完全支持 Discourse 作为一家公司盈利,并理解随之而来的各种事项,包括保密协议(NDA)、针对某些定制功能的可能排他性协议等等。定制内容最终能够回馈到开源代码中,这证明了你们做得对,对此我深表赞赏。


感谢各位的宝贵意见!我现在对现状为何如此有了更清晰的理解,同时也对未来更加充满希望,期待那些与我技能水平、使用场景和预算相近的用户能从中受益。最终,我希望能看到一个蓬勃发展的第三方主题生态系统/社区/市场,并愿意像我在 WordPress(及其他 CMS/论坛系统)领域经常做的那样,为一款精美、定制化的主题支付例如 50 美元。

我意识到这种方法可能存在一些问题,也会产生许多“劣质”主题。但在经过 15 多年对现成 CMS、主题和插件的定制,并将其与类似设计和功能的全定制开发报价进行比较后,我确信这类生态系统具有独特的价值。我认为它介于 Discourse 提供的全定制商业方案(成本是障碍)和完全 DIY 的开源方案(技能和时间是障碍)之间,起到承上启下的作用。在我接触的其他类似系统中,这种“中间路线”确实帮助那些预算、能力或时间有限的用户(基本上是我合作过的所有小型企业、个体经营者等)在合理时间内取得了良好成果。

19 个赞

非常感谢你如此体贴地提出!我会看看能否送你一点小礼物以表谢意,私信稍后发给你 :wink:

11 个赞

大多数情况下,如果某项服务我本可以收费 50 美元,我通常会免费提供。:slight_smile:

5 个赞

确实,我认为许多人都是如此,这是一件好事。但关键在于,在市场中,如果有 10 人、50 人甚至 100 人支付这 50 美元,其意义就会更加重大。无论如何,这似乎在其他平台上是行之有效的。这并不是说我愿意付费而非接受免费服务,但我也并不期望在没有报酬的情况下,有人能完成更深入、更具挑战性的工作。

我未必知道处理这一切的最佳方式。我主要清楚自己希望看到的最终结果:让更深度定制的主题、组件等更广泛地可用,从而推动 Discourse 在更多适用场景中的应用。

8 个赞

我曾考虑过建立一个 Discourse 问题求解市场,但我目前正优先推进另一个项目的上线。:slight_smile:

6 个赞