关于使用插件、主题和主题组件扩展 Discourse、使用核心代码以及使用 Discourse API 的文档。
简介
开发环境
- Dev Container:使用 Dev Container 开发 Discourse
- GitHub Codespaces:在 GitHub Codespaces 上开发 Discourse
- Docker 设置:使用 Docker 安装 Discourse 进行开发
- macOS 设置:在 macOS 上安装 Discourse 进行开发
- Ubuntu/Debian 设置:在 Ubuntu 或 Debian 上安装 Discourse 进行开发
- Windows 设置:在 Windows 上安装 Discourse 进行开发
- 非 Docker 插件:在非 Docker 开发环境中安装插件
- 本地设置:设置本地 Discourse 开发环境?
- 多站点设置:设置多站点开发环境
- Fedora 设置:在 Fedora Linux 上设置 Discourse 进行开发
代码
- Ember 组件:将 Ember 组件添加到 Discourse
- 代码检查和格式化:在提交之前自动检查和格式化代码
- 验收测试:为 Discourse 中的 Ember 代码编写验收测试和组件测试
- 运行测试套件:如何运行 Discourse 核心、插件和主题 QUnit 测试套件
- 版本兼容性:为较旧的 Discourse 安装固定插件和主题版本 (.discourse-compatibility)
- Ember 对象所有权:Ember 对象所有权(getOwner、服务注入等)
- JS 性能:使用 Google 的 ‘tachometer’ 衡量 Discourse 中 JS 性能的变化
- 使用 GitHub Actions 进行 CI:使用 GitHub Actions 设置持续集成
- Markdown 扩展:Markdown 扩展开发者指南
- 转换模态框:将模态框从旧版控制器转换为新的 DModal 组件 API
- DModal API:使用 DModal API 在 Discourse 中渲染模态窗口(又名弹出窗口/对话框)
- JS API:使用 JS API
- 插件出口连接器:从主题或插件中使用插件出口连接器
- modifyClass:使用 modifyClass 更改核心行为
- 创建路由:在 Discourse 中创建路由并显示数据
- 身份验证方法:向 Discourse 添加新的“托管”身份验证方法
- ActiveRecord 模型的意外序列化:防止 ActiveRecord 模型的意外序列化
- 覆盖模板:(不推荐)从主题或插件覆盖 Discourse 模板
- 服务对象:在 Discourse 中使用服务对象
- 系统规格:为 Discourse 用户界面编写端到端系统规格
- FormKit:Discourse 工具包,用于渲染表单。
- AppEvents 触发器:AppEvents 触发器参考
- 转换器:使用转换器自定义客户端值和行为
- 主题列表自定义:自定义主题列表
- CSS 指南:使用 BEM 的 CSS 类指南
- 设备设计:为不同的设备设计(视口大小、触摸/悬停等)
插件
- 基础插件:开发 Discourse 插件 - 第 1 部分 - 创建基础插件
- 插件出口(Plugin outlet):开发 Discourse 插件 - 第 2 部分 - 连接插件出口
- 站点设置(Site settings):开发 Discourse 插件 - 第 3 部分 - 添加自定义站点设置
- Git 设置:开发 Discourse 插件 - 第 4 部分 - 设置 git
- 管理界面:开发 Discourse 插件 - 第 5 部分 - 添加管理界面
- 验收测试:开发 Discourse 插件 - 第 6 部分 - 添加验收测试
- 发布您的插件:开发 Discourse 插件 - 第 7 部分 - 发布您的插件
- 新的语言环境:从插件添加新的语言环境
- 聊天集成:向 discourse-chat-integration 添加新的提供程序
- markdown-it 扩展:将 markdown-it 扩展重新打包为 Discourse 插件
- Rails 自动加载:为 Rails 自动加载构建插件
主题 & 组件
- …