为古腾堡做贡献:新贡献者的体验
已发表: 2018-10-13
以下是 Chris Van Patten 的客座帖子,他分享了他学习和为古腾堡做出贡献的经验。 很多人都在谈论古腾堡对新贡献者的进入门槛更高。 Van Patten 是 Tomodomo 的创始人,这是一家杂志出版商的数字代理机构。
在过去的几个月里,尤其是在过去的几周里,关于为即将到来的 WordPress 古腾堡编辑器做出贡献的准入障碍进行了广泛的讨论。
当然,每个人的经历都是主观的和独特的。 我无法假装理解每个人的感受。 但我的经历与一些人一直在表达的不同,我想分享我自己的看法。
早期的日子
我已经使用 WordPress 将近半辈子了; 现在快15年了。 我记得一些最早的 WordPress 版本:经典主题,Kubrick 的出现,MP6,一直到今天。

像社区中的许多人一样,我完全是自学成才的。 我没有计算机科学背景,也没有正式的指导。 我通过反复试验、调整文件和破坏我的网站来获取代码,因为我想进行更改。
从早期开始,无论是个人项目还是我的代理机构 Tomodomo 的客户,WordPress 一直是我的首选 CMS。 但即使我已经致力于 WordPress 平台,我的贡献也是有限的。
在 Trac 上发帖的规则、仪式和礼仪似乎晦涩难懂。 直到今天,如果我的生活依赖于它,我还无法制作 SVN 补丁。 很多核心代码,充满了多年的历史和向后兼容性,我很难区分。
因此,我以其他方式做出了贡献:开源我正在构建的简单自定义插件,组织 WordCamps 和聚会,以及在全球 WordCamps 上演讲。 但始终困扰着我的是我找不到获得那些难以捉摸的“道具”的方法。
(好吧,我确实在一个版本中获得了道具,但我确信这是一个错误;我既没有打开票证,也没有提供补丁。)
去……去……古腾堡
当我第一次了解古腾堡并开始探索时,我很担心。 起初它看起来很吓人。 我的 JavaScript 能力并没有超出 jQuery。 React 是高深莫测的,似乎我需要一个博士学位才能理解它背后的一些想法。 我仍然不明白 Webpack 是如何发挥它的魔力的。 真的有人吗?
但是新块界面的可能性太诱人了,不容忽视,所以我开始深入研究它是如何工作的。 在那些平静的日子里(也就是今年早些时候),古腾堡的边缘仍然很粗糙,并且有很多改进的机会。 我开始潜伏在 GitHub 存储库上,阅读问题,检查代码,并且通常试图弄清楚到底发生了什么。
当我在玩 Gutenberg 的客户项目时,我开始报告问题:简单的事情,比如用户界面错误。 我开始评论工单,通常会为特定功能提供建议,试图从独立开发者的角度进行倡导。

我什至提交了我的第一个拉取请求! 这很简单。 我更新了 README 以包括每周#core-editor 会议的日期和时间(如果您想知道的话,UTC 时间星期三下午 1 点)。 这是一个不吉利的开始,但我很高兴能把它合并。
随着时间的推移,我的知识增长了。 这就像我早期的 Web 开发,在这里学习 CSS 属性,在那里学习 HTML 元素。 我了解了组件是什么以及如何在不同情况下重用它们。 我了解了 JSX、ES6 以及您在 Gutenland 遇到的其他一些疯狂的首字母缩略词。
随着我与 Gutenberg 一起构建更多内容,我也在寻找构建 Gutenberg 本身的新方法。 我能够理解更多的讨论,并提出我的想法和建议。 我开始打开拉取请求,主要处理设计问题,但也解决小错误和怪癖。 我特意参加了我之前添加到自述文件中的每周会议,当我觉得我有更多的观点可以分享时,我就插话了。
今天,除了对现有票证的数十条评论外,我还有 25 个新问题和 27 个拉取请求。 我是 GitHub 上 Gutenberg 团队的“成员”,每天都尝试抽出时间来分类新错误或审查拉取请求。 我花了一年的大部分时间才达到这一点,这当然并不总是那么容易。 我还有很多东西要学。
当我听说为古腾堡做出贡献有多么困难时,我无法将其与我自己的经历相协调。 这并不是说它轻而易举:Gutenberg 做的事情与 WordPress 核心完全不同,毫无疑问有一个学习曲线。
为古腾堡做贡献的建议
如果您从第一天起就对编码感到不自在,那么还有很多其他方式可以做出贡献。 通读问题并添加您自己的想法和建议。 尝试测试和复制错误报告。 通过内联文档寻找拼写错误和语法更正。 所有这些都是有价值的,并且总是受到赞赏。
当你通过渗透吸收 Guten 方法时,你会发现代码并不像你想象的那么难——它只是不同而已。 建造古腾堡的聪明人在隐藏“计算机科学”方面做得很好,所以我们其他人不必担心数据绑定和其他复杂的想法。 我仍然无法解释状态管理、数据存储或上下文 API,但我设法找到了代码的一小部分需要改进。
这并不是要否认任何人对古腾堡及其发展的沮丧或困惑。 许多地方仍然缺乏文档。 有些 API 不直观。 该工具不是最简单的设置。 这些都是真正的问题,我不想假装它们不存在; 毫无疑问,我们可以做更多的事情来使 Gutenberg 的开发更容易。
当然,我有幸检查一下:我很幸运有时间花在 GitHub 存储库上,试验代码并参加每周会议。 我承认这对许多人来说不是现实。
如果您找不到时间,经典编辑器将继续作为一个选项,并且延长升级时间并不丢人。 古腾堡体验可能需要时间才能像我们都希望的那样直观,等待它是完全合理的。
但是,如果您对 WordPress 可以成为什么并且可以腾出时间接受一些新想法,您最终可能会惊讶于它是多么容易做出贡献。 如果您被难住了,请访问#core-editor 或论坛。 不要害怕发布错误报告或建议; 如果之前报告过,我们可能会将其与另一个问题合并,但附加信息仍然很有价值。 每一次经历都很重要。
我对 WordPress 与 Gutenberg 的未来以及最终成为真正的 WordPress 贡献者感到非常兴奋。 我们还有很长的路要走,但这意味着仍有许多令人兴奋的方式可以有所作为。 随着更多独立社区的声音加入,该项目只会变得更强大。
我希望你能加入我们!
