大家好,
我想请教一下,对于现有主题,维护您的编辑或自定义内容的推荐或最佳方法是什么?
例如,我想对 @rewphus 的出色 Material Design Stock Theme 进行一些修改。我在想,是否应该先 fork 它,在此基础上进行构建,然后尝试与上游同步?
我知道在其他不使用 Repos 或 Git 概念的论坛软件中,您可以安装一份主题的副本,然后再安装第二份作为子主题,并且只编辑子主题。这样,当有更新发布时,您只需更新父主题即可。
大家好,
我想请教一下,对于现有主题,维护您的编辑或自定义内容的推荐或最佳方法是什么?
例如,我想对 @rewphus 的出色 Material Design Stock Theme 进行一些修改。我在想,是否应该先 fork 它,在此基础上进行构建,然后尝试与上游同步?
我知道在其他不使用 Repos 或 Git 概念的论坛软件中,您可以安装一份主题的副本,然后再安装第二份作为子主题,并且只编辑子主题。这样,当有更新发布时,您只需更新父主题即可。
你基本上也可以做同样的事情:构建你自己的主题组件,并将其作为子主题添加到你的基础主题中(该基础主题来自 Git)。然后,你可以根据需要更新 Git 主题,而不会影响组件中的自定义工作。
这是最简单的方法,你可能会重复一些 CSS,但数量应该不会难以管理。
更多关于主题和组件的信息:Beginner's guide to using Discourse Themes
我读过那篇文章,并且完全爱上了这个流程。我得承认,直到今年之前,我从未真正使用 Git 来组织我的工作,但我现在非常喜欢这个工作流程。
我曾考虑过使用主题组件,但我在概念层面上认为它应该用于更小规模的场景。主题组件能否以任何方式编辑配色方案?该功能似乎专属于主题。
我会重新阅读那篇文档,因为昨天我读的时候已经很晚了。现在我打算将其作为主题组件来实现 :)。
并没有这样的要求。我不建议复制整个基础主题并将其放入组件中……那样会携带远超你所需的 CSS 代码,但你可以添加任意数量的覆盖样式。
不能直接操作,但你可以创建一个新的配色方案,并在基础主题的设置中将其选为选项。任何配色方案都可以应用于任何主题(其效果如何取决于主题的具体构建方式)。
明白了,非常感谢你抽出时间回复我。这对我很有启发。
听起来不错。
建议的工作流程
重复上述步骤。
这个工作流程没问题,但直接分叉可能并不总是明智之举——尤其是当原始主题看起来维护得很好的时候。一旦你分叉,如果底层的 Discourse 更新导致主题出现问题,你就得独自应对了。