---
# System prepended metadata

title: 開源經驗

---

# 開源經驗

－ **人多力量大**
－ **千里之行，始於足下**

## 三種類型的貢獻

### 分享自己的項目
- [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/)