我一直想參與開源專案,但這對我來說很難,因為它讓我感到有點畏懼。
你不僅要向一個擁有數百人的程式碼倉庫貢獻程式碼,還要搭建自己的環境,我認為這是開始貢獻程式碼最困難的部分。這個過程需要使用者閱讀文件、修復過程中出現的錯誤等等。
幸運的是,在我發表了關於如何使用Google Gemini 贏得 Google Gemini 寫作挑戰賽的文章之後,我終於可以開始真正貢獻程式碼了。更讓我感到欣慰的是,我的一個 Pull Request 第一次被合併了!希望大家喜歡這個系列 :D
看看引發這一切的那篇貼文:
歡迎來到本系列,在這裡我將講述一位Forem 開源開發者(就是我!)為 Forem 官方程式碼庫做出貢獻的故事!我將分享相關的 issue、Pull Request 以及我的心得體會(如果您也想貢獻程式碼,這些內容或許對您有幫助)!

@konark_13 提出了一個名為「UI Issue」的問題:
https://github.com/forem/forem/issues/22902
此問題指出 UI 的 z-index 值不正確,尤其是在多個表情符號的介面上。例如,您可以注意到以下 UI z-index 值不正確:

這是我作為開源貢獻者處理的第一個問題。我決定解決這個問題,因為它能讓我大致了解程式碼庫的情況。
我首先找到導致問題的元素的類別名稱或 ID。這樣,我就可以在 Visual Studio Code 中搜尋該名稱,並在 CSS 檔案中尋找該名稱。
當我開始調查時,我發現罪魁禍首是 ClassName,即crayons-article-actions 。
我在 Visual Studio Code 中搜尋了這個名稱,它似乎位於 SCSS 檔案article.SCSS中。我將 Z-index 設定為最大值,然後從那裡開始建立我的 Pull Request。
這是我為解決此問題而提交的 Pull Request:
https://github.com/forem/forem/pull/22905
它所做的只是將“z-index”增加到9999。值得注意的是,這並不是一個「完美」的解決方案,但它確實暫時解決了這個問題。
之後,@ben 對此解決方案進行了改進:
// Ensure this is above comments but below dropdowns/modals/popovers (like billboards)
z-index: calc(var(--z-dropdown) - 1);
最終,該問題已按如下方式解決:

以下是我處理這個問題後學到的東西!
在提交這個 PR 之前,我提交了第一個 Pull Request,但它沒有被合併。我意識到,我提交的這個 Pull Request 是我認為必要的,而不是 Forem 真正需要的。這沒什麼丟臉的,有時候在成功之前你會經歷一些挫折。並不是每個 Pull Request 都會被合併,這很正常!
在為任何開源專案做出貢獻時,要了解他們的需求並努力實現。首先,查看他們提出的問題,找到一個看似可行的解決方案。它可以很簡單,例如修復使用者介面或修改文件。無論是什麼,都要確保它符合他們的需求!
即使 Pull Request 已經合併,我仍然在那個 issue 里和 @konark_13 討論過這件事。我覺得進展太快了,因為我當時太急著完成那個 issue 了。
根據論壇文件,您至少有兩週時間來處理這個問題。這應該給您充足的時間。同時,記錄您的工作並保持更新也很重要,這樣倉庫維護者才能知道您仍在處理這個問題。
總而言之,溝通對於任何合作都至關重要! @konark_13,如果我處理這個問題太快而沒有給你機會,我深表歉意!

您需要的一切都在Forem 官方 GitHub 倉庫中!
https://github.com/forem/forem
我建議您先搭建好環境,並確保一切運作正常。最終目標是讓本機運作起來!
旅行者,你已經讀到最後了!感謝閱讀本章,敬請期待下一章!

有任何問題或評論嗎?我很想聽聽您對這位開源論壇創始人的故事有何感想!
原文出處:https://dev.to/francistrdev/the-open-sourcerer-of-forem-beyond-the-ui-4k7p