為古騰堡做貢獻:新貢獻者的體驗

已發表: 2018-10-13

以下是 Chris Van Patten 的客座帖子,他分享了他學習和為古騰堡做出貢獻的經驗。 很多人都在談論古騰堡對新貢獻者的進入門檻更高。 Van Patten 是 Tomodomo 的創始人,這是一家雜誌出版商的數字代理機構。


在過去的幾個月裡,尤其是在過去的幾周里,關於為即將到來的 WordPress 古騰堡編輯器做出貢獻的准入障礙進行了廣泛的討論。

當然,每個人的經歷都是主觀的和獨特的。 我無法假裝理解每個人的感受。 但我的經歷與一些人一直在表達的不同,我想分享我自己的看法。

早期的日子

我已經使用 WordPress 將近半輩子了; 現在快15年了。 我記得一些最早的 WordPress 版本:經典主題,Kubrick 的出現,MP6,一直到今天。

早期的 WordPress 後端

像社區中的許多人一樣,我完全是自學成才的。 我沒有計算機科學背景,也沒有正式的指導。 我通過反複試驗、調整文件和破壞我的網站來獲取代碼,因為我想進行更改。

從早期開始,無論是個人項目還是我的代理機構 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 貢獻者感到非常興奮。 我們還有很長的路要走,但這意味著仍有許多令人興奮的方式可以有所作為。 隨著更多獨立社區的聲音加入,該項目只會變得更強大。

我希望你能加入我們!