维护主题的最佳工作流?

大家好,

我想请教一下,对于现有主题,维护您的编辑或自定义内容的推荐或最佳方法是什么?

例如,我想对 @rewphus 的出色 Material Design Stock Theme 进行一些修改。我在想,是否应该先 fork 它,在此基础上进行构建,然后尝试与上游同步?

我知道在其他不使用 Repos 或 Git 概念的论坛软件中,您可以安装一份主题的副本,然后再安装第二份作为子主题,并且只编辑子主题。这样,当有更新发布时,您只需更新父主题即可。

1 个赞

你基本上也可以做同样的事情:构建你自己的主题组件,并将其作为子主题添加到你的基础主题中(该基础主题来自 Git)。然后,你可以根据需要更新 Git 主题,而不会影响组件中的自定义工作。

这是最简单的方法,你可能会重复一些 CSS,但数量应该不会难以管理。

更多关于主题和组件的信息:Beginner's guide to using Discourse Themes

7 个赞

我读过那篇文章,并且完全爱上了这个流程。我得承认,直到今年之前,我从未真正使用 Git 来组织我的工作,但我现在非常喜欢这个工作流程。

我曾考虑过使用主题组件,但我在概念层面上认为它应该用于更小规模的场景。主题组件能否以任何方式编辑配色方案?该功能似乎专属于主题。

我会重新阅读那篇文档,因为昨天我读的时候已经很晚了。现在我打算将其作为主题组件来实现 :)。

2 个赞

并没有这样的要求。我不建议复制整个基础主题并将其放入组件中……那样会携带远超你所需的 CSS 代码,但你可以添加任意数量的覆盖样式。

不能直接操作,但你可以创建一个新的配色方案,并在基础主题的设置中将其选为选项。任何配色方案都可以应用于任何主题(其效果如何取决于主题的具体构建方式)。

6 个赞

明白了,非常感谢你抽出时间回复我。这对我很有启发。

听起来不错。


建议的工作流程


  • Fork 并克隆你想要修改的主题组件
  • 使用 VisualStudioCode (VSC) 打开克隆的工作区
  • 尽情修改和编写你的主题组件代码
  • 从 VSC 将你的更改推送到你的 GitHub 仓库
  • 从你的仓库安装你修改后的主题组件
  • 进行测试

重复上述步骤。


3 个赞

这个工作流程没问题,但直接分叉可能并不总是明智之举——尤其是当原始主题看起来维护得很好的时候。一旦你分叉,如果底层的 Discourse 更新导致主题出现问题,你就得独自应对了。

2 个赞