贡献
CKEditor 5 是一个开源项目,我们非常感谢您的贡献。您可以通过修复问题、报告问题或翻译编辑器界面来帮助我们。自 2003 年以来,社区的努力和参与一直推动着我们 WYSIWYG 编辑器项目的发展!
# 修复问题和编写功能
在开始之前,请牢记以下几点
- 我们期望贡献符合我们遵循的高质量代码标准,包括 编码风格 和 测试。缺乏对这一点的关注可能会导致贡献被缓慢采用,甚至可能导致我们完全拒绝贡献。
- 我们不保证您的贡献将被纳入项目代码。但是,拉取请求使您能够轻松地将它们保留供自己使用,或者供可能对它们感兴趣的其他人使用。
- 如果您计划开始处理一项更大的任务,最好事先询问核心团队(事先)是否会接受特定功能或解决问题的方案。
- 如果您在创建补丁或实现功能时需要任何帮助,请在票证下与我们联系。
- 拥有 CLA 是让您的贡献被接受的关键。
# 设置开发环境
要了解如何设置项目并运行测试,请参阅 开发环境 指南。
# 代码风格
在 代码风格 指南中了解更多信息,您还可以查看 命名 和 文件名 指南。
每个包存储库都会安装 Git 钩子,这些钩子会在提交时自动对代码进行 lint 并检查代码风格。但是,并非所有代码风格问题都能够通过这种方式发现,因此请不要过度依赖工具。
# 测试
我们维护着 **100% 的代码覆盖率**(包括代码分支),缺少测试的拉取请求将不被接受。但是,请记住,100% 并非一切 - 每个 *更改* 都必须经过测试。这意味着,如果您正在修复一个错误,并且您的补丁没有改变代码覆盖率,那么更改本身仍然需要进行测试。
除了自动测试之外,您可能还会被要求为问题创建手动测试。这样的手动测试可以让我们快速验证问题是否真的已修复,并在测试阶段(在发布之前)使用,以确保没有产生回归。
详细了解我们的 测试环境。
# 创建拉取请求
GitHub 提供了有关拉取请求的 出色文档。如果您不确定该怎么做,这里就是开始的正确地方。
Angular、React 和 Vue 集成以及 CKEditor 5 检查器 和 开发工具包 保存在单独的存储库中。以下步骤假设您想要在 主 CKEditor 5 存储库 中提出更改。
假设您想要提出一些更改,以下是在创建拉取请求时应该采取的步骤
-
确保在 https://github.com/ckeditor/ckeditor5 中打开一个票证,描述您想要在拉取请求中解决的问题、功能或问题。对于明显的和微不足道的更改(错别字、文档等),可以跳过此步骤。
-
确保您的 开发环境 已准备好。
-
转到 GitHub 并 派生存储库。派生的存储库将显示在您的 GitHub 帐户中,名称为
https://github.com/YOUR-USERNAME/ckeditor5
。 -
打开您的终端,然后转到开发环境中的包(“存储库”)文件夹
$ cd path/to/ckeditor5
-
为您的代码开始一个新分支。我们使用
i/GITHUB-ISSUE-NUMBER
约定作为分支名称$ git checkout -b i/GITHUB-ISSUE-NUMBER
-
进行更改。坚持 代码风格指南,并记住 测试和 100% 的代码覆盖率!
-
提交您的更改
$ git commit -m "Squashed a nasty bug in the link editing."
-
现在是时候公开您的更改了。首先,您需要让
git
知道您创建的派生,方法是添加远程$ git remote add my-fork https://github.com/YOUR-USERNAME/ckeditor5
-
将您的更改推送到派生的存储库
$ git push my-fork i/GITHUB-ISSUE-NUMBER
-
让我们知道您的拉取请求! 最好的方法是在原始问题下发表评论。
您应该牢记的其他一些事项
- 您的拉取请求应尽量精简。它只应更改票证中描述的内容。不要将不相关的更改挤入您的拉取请求。
- 在 GitHub 上创建拉取请求时,请确保指定您的拉取请求解决的票证。建议您提供更多信息,例如如何测试补丁、遇到的问题、需要做出的决定、已知问题等。
- 确保您签署了 贡献者许可协议 (CLA) 并且测试通过。测试您的更改!
# 翻译
CKEditor 5 是一个对全球有影响的项目,因此贡献翻译既是一种简单又强大的帮助方式。
为了使 CKEditor 5 可用在多种语言中,我们使用 .po
文件来存储翻译。这些是软件开发中通常用于翻译界面文本的文本文件。每个 CKEditor 5 包在 lang/translations
目录中保存翻译文件。要提供缺少的翻译,只需编辑 .po
文件并准备一个 拉取请求。
同样,拥有 CLA 是成为官方翻译人员的要求(见下文)。
# 报告问题和请求功能
阅读 报告问题 指南以了解更多信息。
# 贡献者许可协议 (CLA)
为了接受以代码、文档或翻译形式发送给我们的贡献,必须签署贡献者许可协议 (CLA) 以明确说明随其授予的知识产权许可证。此许可证是为了保护您作为贡献者,以及保护我们和我们的用户;它不会改变您将自己的贡献用于任何其他目的的权利。
要签署 CLA 并了解更多信息,请访问以下链接:https://cla.ckeditor.com/。
我们每天都在努力使我们的文档保持完整。您是否发现过时信息?是否缺少内容?请通过我们的 问题跟踪器 报告它。
随着 42.0.0 版本的发布,我们重新编写了许多文档以反映新的导入路径和功能。感谢您的反馈,帮助我们确保文档的准确性和完整性。