菜单

贡献

相关源文件

本页面介绍了向 You Don't Know JS Yet (YDKJSY) 存储库贡献的指南和流程。它涵盖了可接受的贡献类型、提交更改的工作流程、问题报告和翻译指南。

YDKJSY 项目既是一个开源存储库,也是一个已出版的系列书籍。这种双重性质影响了接受的贡献类型及其管理方式。

来源:CONTRIBUTING.md1-5

当前状态和贡献资格

YDKJSY 项目目前处于第二版。每本书的贡献状态如下

书籍标题状态开放贡献
1入门已完成/已出版
2作用域与闭包已完成/已出版
3对象与类稳定草稿(约 90-95%)
4类型与语法稳定草稿(约 90-95%)
5同步与异步暂无计划
6ES.Next 及未来暂无计划

第一版书籍不接受任何贡献,无一例外。

来源:CONTRIBUTING.md19-25

贡献工作流程

图表:YDKJSY 贡献流程

提交任何贡献之前

  1. 先搜索:检查您的问题或疑问是否已在现有问题中得到解决。
  2. 在提交 PR 之前创建问题:对于内容贡献(不仅仅是错别字修正),请先开一个问题来讨论提议的更改。
  3. 非独占许可:通过贡献内容,您授予作者非独占许可,可以根据书籍的需要使用该内容。

来源:CONTRIBUTING.md3-5 CONTRIBUTING.md33-35 PULL_REQUEST_TEMPLATE.md1-4

贡献类型

可接受的贡献

  1. 代码片段改进
  2. 解释澄清
  3. 技术错误修正
  4. 内容问题(通过问题反馈)

有限或不可接受的贡献

  1. 阅读体验增强:指向其他章节的交叉链接、目录改进等不予接受,因为该存储库主要用于管理出版内容。
  2. 次要文本错别字:这些通常在编辑过程中被发现。如果提交错别字修正,请将多个修正集合到一个 PR 中。
  3. 第一版书籍:不接受任何贡献。
  4. 已完成的第二版书籍:书籍 1 和 2 不再接受进一步贡献。

来源:CONTRIBUTING.md7-17 CONTRIBUTING.md27-31

问题模板和报告流程

图表:问题类型和模板

该存储库为不同类型的问题提供了专用模板

  1. 技术错误:针对代码片段或技术解释中的错误
  2. 内容问题:针对书中材料的问题
  3. 文本/语法错误:用于报告拼写、语法或文本错误
  4. 外语翻译请求:用于提议翻译

每个模板都需要特定信息,例如

  • 确认您已搜索过现有问题
  • 版本(第一版或第二版)
  • 书名
  • 章和节
  • 问题或疑问描述

来源:.github/ISSUE_TEMPLATE/report-technical-mistake.md1-22 .github/ISSUE_TEMPLATE/content-question.md1-22 .github/ISSUE_TEMPLATE/textual-grammar-typo.md1-22

翻译指南

欢迎对 YDKJSY 系列进行外语翻译,但应遵循以下步骤

图表:翻译流程

翻译流程包括

  1. Fork 主仓库
  2. 在您的 Fork 中完成翻译(最好是全部六本书,最少一本完整书)
  3. 提交一个问题,请求以您的语言 ISO 代码命名的分支
  4. 分支创建后,提交 PR 以合并您的翻译作品
  5. 合并后,您将成为仓库维护者,负责管理您语言的分支

翻译请求应等到第二版完成。不接受先前版本的新外语翻译。

来源:.github/ISSUE_TEMPLATE/foreign-translation-request.md8-27

许可条款

YDKJSY 存储库采用知识共享署名-非商业性使用-禁止演绎 4.0 国际公共许可证授权。通过向此存储库贡献,您同意您的贡献也将受此相同许可证的约束。

主要许可条款

  1. 署名:必须注明原作者
  2. 非商业性使用:材料不得用于商业目的
  3. 禁止演绎:材料不得混编、转换或在此基础上创建

当您贡献内容时,您授予作者非独占许可,可以由作者和出版商酌情将该内容用于书籍。

来源:LICENSE.txt1-2 CONTRIBUTING.md5

拉取请求流程

提交拉取请求时

  1. 阅读贡献指南
  2. 确认您已搜索过解决相同主题的现有问题
  3. 填写 PR 模板,包括
    • 版本(不接受先前版本的 PR)
    • 书名
    • 章节
    • 章节标题
    • 主题

对于错别字修正,请将多个小更改合并到一个 PR 中,并使用单独的提交,而不是提交多个 PR。

来源:PULL_REQUEST_TEMPLATE.md1-23