Discourse 具有高度可定制性,允许您通过主题修改其外观的几乎任何方面。
为了保持与 Discourse 持续更新和新功能的兼容性,所有主题都需要定期维护。维护的频率取决于定制的复杂程度和类型。您可以遵循以下指南来减少主题的维护工作:
- 查找与您所需功能匹配的官方 主题 或 主题组件。这些内容会随 Discourse 一同更新。它们还可以作为您进行自定义开发的参考示例。
- 使用管理员面板中的“自定义 → 文本”功能,通过搜索特定文本并在此处进行更新来替换界面文本。
- 主题 CSS 是增量式的,允许您在无需直接编辑默认样式的情况下覆盖它们。这种方法提高了 CSS 的可维护性,并最大限度地减少了与更新之间的冲突。
- 使用 Git 配合 GitHub、GitLab 或 Bitbucket 等版本控制系统来跟踪更改。虽然管理员面板中的“自定义 → 主题”下的 HTML 和 CSS 编辑器对于小调整非常方便,但版本控制系统可以更轻松地跟踪和排查更复杂的更改。
- 对于高级定制,为新功能创建独立模块,并通过 插件出口 进行集成。Discourse 使用 Ember.js,因此构建 Ember 组件是理想选择。这种方法隔离了自定义功能,减少了维护工作,并有助于避免与 Discourse 更新产生冲突。
在主题中覆盖 Discourse 默认的 JavaScript 和 HTML 模板应作为最后手段,因为这些更改更可能与 Discourse 更新不兼容,难以排查故障,且更容易导致停机错误。
有关使用和构建 Discourse 主题的更多信息,欢迎在我们的 Meta 社区提问,并查阅我们的主题指南:
- Discourse 主题使用入门指南
- Discourse 主题设计师指南
- Discourse 主题开发者指南
- 如何启用安全模式以排查主题和插件问题
- 主题和主题组件的结构
- 创建并共享字体主题组件
- 如何创建并共享配色方案
- 如何在主题中使用 Discourse 核心变量
- 如何为 Discourse 主题添加设置
- 主题创建器:无需安装 Discourse 即可创建和展示主题!
本文档受版本控制 - 请在 GitHub 上建议更改。