我丟,GitHub 上竟然還有這種騷操作

沉默王二發表於2021-04-30

大家好,我是沉默王二。

今天來給大家介紹一個 GitHub 上的騷操作,簡直了!

眾所周知,GitHub 是一個面向開源及私有軟體專案的託管平臺,因為只支援 Git 作為唯一的版本庫格式進行託管,故名 GitHub。

GitHub 社交化的編碼理念讓它成為了國內外開發者眼中神聖而不可侵犯的尤物,無數優質的開源專案依託於 GitHub,並在全球開發者的共同參與下蓬勃發展。

不過,講真,你有在 GitHub 上好好的讀過原始碼嗎

不用謙虛,我估計大多數人沒有這個習慣(包括我啦)。GitHub 再優秀,和 IDE 還是有差距的,在上面閱讀程式碼實在是不夠方便。我有嘗試為 Chrome 瀏覽器裝過 Octotree、Sourcegraph 這樣的幫助外掛,但仍然感覺用起來不夠愉快。

在我遇到今天分享的豬腳之前,用得最多的還是把倉庫克隆到本地,然後再通過 IDE 開啟後去瀏覽。雖然我不是一名技術極客,但總覺得這種方法有點不夠潮。

如果能在瀏覽器中像 IDE 那樣閱讀 GitHub 原始碼,該多好呢

那今天我就來給大家介紹這個騷到天際的騷操作,只需要在GitHub 倉庫域名後面加上 1s(1 秒內),比如:

github1s.com/itwanger/Te…

就能在瀏覽器裡面使用 VS Code 環境來閱讀這個倉庫的原始碼!

真的是大開眼界啊

就在倉庫的域名後加個 1s,就能用支援語法高亮、程式碼重構的 VS Code 來閱讀原始碼,大家服不服我不知道,反正我是服了!

這是為什麼呢?背後發生了什麼呢?

答案很簡單,這依賴於 GitHub 上星標 15.3k 的一個倉庫——名叫 Github1s,基於 VS Code 1.52.1,一個支援在瀏覽器裡面直接工作的版本。

Github1s 的靈感主要借鑑了 code-server 這個優秀的開源專案,星標有 40.6K,可以將 VS Code 執行在任何支援瀏覽器的機器上。可以說,Github1s 是站在了巨人的肩膀上。

多虧了 VS Code 強大而又靈活的可擴充套件性,使我們可以藉助它的 FileSystemProvider 介面實現自定義的檔案 IO 擴充套件。

另一方面,GitHub 也提供了強有力的 REST API,使得我們可以自由地讀取倉庫的目錄和檔案。

也就是說,VS Code 的可擴充套件性和 GitHub 的 REST API 成就了 Github1s 的強大功能。

由於 Github1s 是部署在 GitHub Pages 上的,所以它是一個純靜態的 Web 應用程式,也就意味著它並不需要一臺專門為其提供服務的伺服器。赤裸裸的白嫖啊,還非常可靠,因為 GitHub Pages 就非常可靠,我的個人部落格也是部署在 GitHub Pages 上的。

美中不足的一點是,只能閱讀原始碼,不能編輯,檔案是隻讀的——希望 Github1s 的作者能在未來實現這一點,那簡直就不要太舒服了。

大家對這個騷操作感興趣的話,不妨去試一下。如果有時間的話,可以順帶閱讀一下 Github1s 的原始碼學習下。

文末,再給大家推薦一個 GitHub 倉庫,寶藏一般,不信你開啟看一下,五一假期一定會大有所獲的。

github.com/itwanger/Ja…

相關文章