GithubX: 一個 Github 體驗增強外掛

一波不是一波發表於2022-04-24

最近開發了一款增強 Github 體驗的 Chrome 外掛 - GithubX

程式碼也開源了: https://github.com/riskers/gi...

痛點

解決了我個人的一個痛點:Github 原生對 stars 和 gists 無法分組和打標籤,這樣讓我每次在查一些不常用庫的時候,總是會花很長時間查詢。

看看效果

可以在後臺在 star 分組和打標籤了:

然後在 github 頁面展示出來:

上面是對已經 star 過的專案,如果你有新的 star,會自動彈窗讓你操作:

自我總結

這個專案其實應該 2 年前就做完了,一直拖到現在,也主要是自己的拖驗症比較嚴重。

這次迭代了 3 個版本,差不多 2 週一個版本,主要用業務時間來做這件事情。

學到了什麼

  • React Hooks 這次是比較深入使用了,不再像之前一樣泛泛而過了
  • Chrome Extension 開發,沉澱了一個腳手架,以後做外掛會很方便:https://github.com/riskers/re...

覆盤

這次技術選型的思考:一開始想得太多,導致進度很慢。

  1. 儲存選型

    最開始本地資料是存在 localStorage 裡的,不過後面分組的時候,要做到類似 One To Many 的關係查詢,會很麻煩,我勉強克服了。直到要打標籤的時候,我絕望了,因為這是 Many To Many 關係,用 localStorage 太麻煩了。於是,使用 indexedDB 解決這種問題。

  2. 狀態管理選型

    一開始我認為這只是一個小專案,沒打算上 redux。所有的狀態管理都放在 context 裡,結果,因為資料管理太複雜,使用 context 反而讓狀態越來越複雜,得不償失,於是用 redux 替換。檢視這個 commit會更清楚。

說了這麼多,如果你感興趣,不妨試試吧。下載地址


向我捐助 | 關於我 | 工作機會

相關文章