# 開源經驗 - **人多力量大** - **千里之行,始於足下** ## 三種類型的貢獻 ### 分享自己的項目 - [SvelteFireTS](https://github.com/jacob-8/sveltefirets) from [SvelteFire](https://github.com/codediodeio/sveltefire) - [Kitbook, Svelte Pieces](https://github.com/jacob-8/kitbook) ### 改進別人的項目 - [Vite 文件改進]() ![](https://hackmd.io/_uploads/Hkrn0s6pn.png) - [Supabase 文件](https://supabase.com/docs) AI 問題 ![](https://hackmd.io/_uploads/BklE7hpa2.png) - [Issue](https://github.com/supabase/supabase/issues/15475) ![](https://hackmd.io/_uploads/BkC84na6n.png) ### 解決自己的問題 - [SvelteKit](https://github.com/sveltejs/kit) Cloudflare adapter 貢獻 ![](https://hackmd.io/_uploads/SJTzjoTan.png) - https://github.com/sveltejs/kit/issues/1220 (別人的) - https://github.com/sveltejs/kit/issues/1493 (自己發現) - 分享我的問題: [unbuild --stub](https://github.com/unjs/unbuild/issues/271) - 有時候,結果是:加入開源項目團隊 ## UnoCSS 貢獻 - 小貢獻: - [my issue - closed](https://github.com/unocss/unocss/issues/663) ![](https://hackmd.io/_uploads/Hyj_vMy03.png) - [半年後我對UnoCSS有了更多的了解,並用 PR 重新打開了這個 issue 來解決問題](https://github.com/unocss/unocss/issues/1671) ![](https://hackmd.io/_uploads/HkxUTnp63.png) - 大貢獻: [![](https://hackmd.io/_uploads/HJsIw2pp2.png)](https://github.com/unocss/unocss/issues/1676) - 小貢獻: 從 [Vitest 例子](https://vitest.dev/guide/#examples)中實現 playground 的想法,這是現在的 [UnoCSS 例子](https://unocss.dev/integrations/#examples)的開始: ![](https://hackmd.io/_uploads/ryT5R2p63.png) - 我需要的一個功能被更熟悉 Svelte 的 UnoCSS 團隊成員拒絕了 (不是 Anthony) [![](https://hackmd.io/_uploads/S1FV0naph.png)](https://github.com/unocss/unocss/pull/1725) - 在等待了 2 個月所需功能獲得批准後,[我創建了自己的項目](https://github.com/unocss/unocss/pull/2098#issuecomment-1491238056)。 ![](https://hackmd.io/_uploads/Bkadlppp2.png) - 加入團隊 [![](https://hackmd.io/_uploads/S16KG6T63.png)](https://github.com/unocss/unocss/pull/2530) [![](https://hackmd.io/_uploads/Skdsm6Ta2.png)](https://github.com/unocss/unocss/pull/2530#issuecomment-1518588040) [![](https://hackmd.io/_uploads/By8xX6Tp2.png)](https://github.com/unocss/unocss/pull/2530#issuecomment-1519064442) [![](https://hackmd.io/_uploads/SJSJVpTTn.png)](https://github.com/unocss/unocss/pull/2530#issuecomment-1519105677) [![](https://hackmd.io/_uploads/BynBWTpTh.png)](https://github.com/unocss/unocss/pull/2552) ![](https://hackmd.io/_uploads/Syk7-aTp2.png) ![](https://hackmd.io/_uploads/H1Tdz2ppn.png) - 互相好處 - 從他們的代碼中你可以了解新的技巧: ESLint, [为什么我不使用 Prettier](https://antfu.me/posts/why-not-prettier-zh) - 從你的貢獻中他們可以了解新的技巧: colocated tests ![](https://hackmd.io/_uploads/r1lH-5TTn.png) - 你在他們的社區中得到認可 - 他們的工具在你的社區中得到認可 - 結果 ![](https://hackmd.io/_uploads/BJr1uzkRn.png) 你寫代碼的時候會常常遇到問題。 當你遇到問題時,認真找到解決,在此過程中其他人也會受益。以後可能他們幫助你或者邀請你加入他們的團隊。但這不應該是你的目標。 ## 未來的機會 ### 為我 - SvelteFire (快要又 Google Firebase 團隊的正式支持) ![](https://hackmd.io/_uploads/SJuV-hap3.png) ### 為你們 本週我創建了宜蘭克里奧爾語[地圖](http://geojson.io/#data=data:application/json,%7B%22type%22%3A%22FeatureCollection%22%2C%22features%22%3A%5B%7B%22type%22%3A%22Feature%22%2C%22properties%22%3A%7B%22village%22%3A%22%E6%9D%B1%E5%B2%B3%E6%9D%91%2C%20Tungyueh%20Village%22%7D%2C%22geometry%22%3A%7B%22coordinates%22%3A%5B121.83141914612247%2C24.52168742522265%5D%2C%22type%22%3A%22Point%22%7D%2C%22id%22%3A0%7D%2C%7B%22type%22%3A%22Feature%22%2C%22properties%22%3A%7B%22village%22%3A%22%E9%87%91%E6%B4%8B%E6%9D%91%2C%20Chinyang%20Village%22%7D%2C%22geometry%22%3A%7B%22coordinates%22%3A%5B121.74986837023829%2C24.426272908987812%5D%2C%22type%22%3A%22Point%22%7D%2C%22id%22%3A1%7D%2C%7B%22type%22%3A%22Feature%22%2C%22properties%22%3A%7B%22village%22%3A%22%E6%BE%B3%E8%8A%B1%E6%9D%91%2C%20Aohua%20Village%22%7D%2C%22geometry%22%3A%7B%22coordinates%22%3A%5B121.74310123317997%2C24.331546935467387%5D%2C%22type%22%3A%22Point%22%7D%2C%22id%22%3A2%7D%2C%7B%22type%22%3A%22Feature%22%2C%22properties%22%3A%7B%22village%22%3A%22%E5%AF%92%E6%BA%AA%E6%9D%91%2C%20Hanhsi%20Village%22%7D%2C%22geometry%22%3A%7B%22coordinates%22%3A%5B121.68793777975458%2C24.609663386537093%5D%2C%22type%22%3A%22Point%22%7D%2C%22id%22%3A3%7D%5D%7D) - 日語和泰雅克里奧爾語 - 寒溪村 - 東岳村 - 金洋村 - 澳花村 沒有分享按鈕。為什麼?以前 http://geojson.io 有分享按扭。 1. 檢查 [issues](https://github.com/mapbox/geojson.io/issues ) 2. [找到 relevation documentation](https://github.com/mapbox/geojson.io/blob/main/API.md) 3. [提出澄清問題](https://github.com/mapbox/geojson.io/issues/810#issuecomment-1700110309) 4. 提出解決方案:這是所需的[代碼](https://stackblitz.com/edit/vitejs-vite-k14cxm?file=src%2FApp.svelte),但我沒有創建 PR 和測試。 如果有興趣的話你可以訂閱該主題,等待我的問題得到解答,然後提出創建 PR。 如果被接受,你會成為該項目的第 65 位貢獻者,擁有 1,700 顆星。 恭喜! 你是一名開源開發人員。 **五年:兩倍** ## 了解更多 - 不需要技能,只要有幫助就可以。 - 不要只是說「你的工具壞了」,要說出壞的是什麼不可以只說這個不好 - 寄給一個 [minimal repro](https://github.com/unocss/unocss/issues/2792) ![](https://hackmd.io/_uploads/HJYco2p6n.png) ![](https://hackmd.io/_uploads/H1pishppn.png) - [如何為開源做貢獻?](https://opensource.guide/zh-hant/how-to-contribute/)