Contribute to this guide

guide贡献

CKEditor 5 是一个开源项目,我们非常感谢您的贡献。您可以通过修复问题、报告问题或翻译编辑器界面来帮助我们。自 2003 年以来,社区的努力和参与一直推动着我们 WYSIWYG 编辑器项目的发展!

# 修复问题和编写功能

在开始之前,请牢记以下几点

  • 我们期望贡献符合我们遵循的高质量代码标准,包括 编码风格测试。缺乏对这一点的关注可能会导致贡献被缓慢采用,甚至可能导致我们完全拒绝贡献。
  • 我们不保证您的贡献将被纳入项目代码。但是,拉取请求使您能够轻松地将它们保留供自己使用,或者供可能对它们感兴趣的其他人使用。
  • 如果您计划开始处理一项更大的任务,最好事先询问核心团队(事先)是否会接受特定功能或解决问题的方案。
  • 如果您在创建补丁或实现功能时需要任何帮助,请在票证下与我们联系。
  • 拥有 CLA 是让您的贡献被接受的关键。

# 设置开发环境

要了解如何设置项目并运行测试,请参阅 开发环境 指南。

# 代码风格

代码风格 指南中了解更多信息,您还可以查看 命名文件名 指南。

每个包存储库都会安装 Git 钩子,这些钩子会在提交时自动对代码进行 lint 并检查代码风格。但是,并非所有代码风格问题都能够通过这种方式发现,因此请不要过度依赖工具。

# 测试

我们维护着 **100% 的代码覆盖率**(包括代码分支),缺少测试的拉取请求将不被接受。但是,请记住,100% 并非一切 - 每个 *更改* 都必须经过测试。这意味着,如果您正在修复一个错误,并且您的补丁没有改变代码覆盖率,那么更改本身仍然需要进行测试。

除了自动测试之外,您可能还会被要求为问题创建手动测试。这样的手动测试可以让我们快速验证问题是否真的已修复,并在测试阶段(在发布之前)使用,以确保没有产生回归。

详细了解我们的 测试环境

# 创建拉取请求

GitHub 提供了有关拉取请求的 出色文档。如果您不确定该怎么做,这里就是开始的正确地方。

AngularReactVue 集成以及 CKEditor 5 检查器开发工具包 保存在单独的存储库中。以下步骤假设您想要在 主 CKEditor 5 存储库 中提出更改。

假设您想要提出一些更改,以下是在创建拉取请求时应该采取的步骤

  1. 确保在 https://github.com/ckeditor/ckeditor5 中打开一个票证,描述您想要在拉取请求中解决的问题、功能或问题。对于明显的和微不足道的更改(错别字、文档等),可以跳过此步骤。

  2. 确保您的 开发环境 已准备好。

  3. 转到 GitHub 并 派生存储库。派生的存储库将显示在您的 GitHub 帐户中,名称为 https://github.com/YOUR-USERNAME/ckeditor5

  4. 打开您的终端,然后转到开发环境中的包(“存储库”)文件夹

    $ cd path/to/ckeditor5
    
  5. 为您的代码开始一个新分支。我们使用 i/GITHUB-ISSUE-NUMBER 约定作为分支名称

    $ git checkout -b i/GITHUB-ISSUE-NUMBER
    
  6. 进行更改。坚持 代码风格指南,并记住 测试和 100% 的代码覆盖率

  7. 提交您的更改

    $ git commit -m "Squashed a nasty bug in the link editing."
    
  8. 现在是时候公开您的更改了。首先,您需要让 git 知道您创建的派生,方法是添加远程

    $ git remote add my-fork https://github.com/YOUR-USERNAME/ckeditor5
    
  9. 将您的更改推送到派生的存储库

    $ git push my-fork i/GITHUB-ISSUE-NUMBER
    
  10. 转到 GitHub 上的派生存储库。使用 拉取请求按钮 并按照说明操作。确保包含的合并提交消息文本与 约定 匹配。

  11. 让我们知道您的拉取请求! 最好的方法是在原始问题下发表评论。

您应该牢记的其他一些事项

  • 您的拉取请求应尽量精简。它只应更改票证中描述的内容。不要将不相关的更改挤入您的拉取请求。
  • 在 GitHub 上创建拉取请求时,请确保指定您的拉取请求解决的票证。建议您提供更多信息,例如如何测试补丁、遇到的问题、需要做出的决定、已知问题等。
  • 确保您签署了 贡献者许可协议 (CLA) 并且测试通过。测试您的更改!

# 翻译

CKEditor 5 是一个对全球有影响的项目,因此贡献翻译既是一种简单又强大的帮助方式。

为了使 CKEditor 5 可用在多种语言中,我们使用 .po 文件来存储翻译。这些是软件开发中通常用于翻译界面文本的文本文件。每个 CKEditor 5 包在 lang/translations 目录中保存翻译文件。要提供缺少的翻译,只需编辑 .po 文件并准备一个 拉取请求

同样,拥有 CLA 是成为官方翻译人员的要求(见下文)。

# 报告问题和请求功能

阅读 报告问题 指南以了解更多信息。

# 贡献者许可协议 (CLA)

为了接受以代码、文档或翻译形式发送给我们的贡献,必须签署贡献者许可协议 (CLA) 以明确说明随其授予的知识产权许可证。此许可证是为了保护您作为贡献者,以及保护我们和我们的用户;它不会改变您将自己的贡献用于任何其他目的的权利。

要签署 CLA 并了解更多信息,请访问以下链接:https://cla.ckeditor.com/