最大程度减少主题自定义的维护工作

Discourse 是高度可定制的,使您能够通过主题修改其几乎任何外观方面。

为了与持续的 Discourse 更新和新功能保持兼容性,所有主题都需要偶尔进行维护。维护的频率取决于定制的复杂性和类型。您可以通过遵循以下指南来最大限度地减少主题的维护工作:

  • 检查官方的 themestheme components,以匹配您所需的功能。这些会与 Discourse 一起更新。它们也可以作为您进行自身定制的示例。
  • 使用 admin → customize → text 功能,通过搜索特定文本并在那里更新来替换界面文本。
  • 主题 CSS 是附加的,允许您覆盖默认样式而不直接编辑它们。这种方法提高了 CSS 的可维护性,并最大限度地减少了与更新的冲突。
  • 使用像 Git 这样的版本控制系统,并配合 GitHub、GitLab 或 Bitbucket 来跟踪更改。虽然 admin → customize → themes 中的 HTML 和 CSS 编辑器对于小幅调整很方便,但版本控制系统可以更轻松地跟踪和排除更复杂的更改。
  • 对于高级定制,为新功能创建独立的模块,并通过 plugin outlets 进行集成。Discourse 使用 Ember.js,因此构建 Ember 组件是理想的选择。这种方法可以隔离自定义功能,减少维护,并有助于避免与 Discourse 更新发生冲突。

在主题中覆盖默认的 Discourse JavaScript 和 HTML 模板应该是最后的手段,因为这些更改最有可能与 Discourse 更新不兼容,难以排除故障,并且更容易出现导致停机的错误。

有关使用和构建 Discourse 主题的更多信息,请随时在我们 Meta 社区提问,并查看我们的主题指南:


本文档已进行版本控制 - 请在 github 上提出更改建议。

13 个赞