我做了個(gè)很帥的網(wǎng)站!
大家好,我是魚(yú)皮,今天來(lái)分享一下我最新上線的作品~
相信大家都用過(guò)瀏覽器主頁(yè),在我小的時(shí)候,印象中的瀏覽器主頁(yè)是這樣的:

這類主頁(yè)上有一堆無(wú)用的鏈接,看起來(lái)就很復(fù)雜,很多時(shí)候我都是被迫捆綁設(shè)置了這些主頁(yè)。。。
后來(lái),一些開(kāi)發(fā)者看不下去了,做出了主打簡(jiǎn)潔的瀏覽器主頁(yè),比如下面這樣,精簡(jiǎn)到只有一個(gè)輸入框:

我當(dāng)時(shí)覺(jué)得別人做的特別酷,于是自己也做過(guò)一個(gè)面向程序員的瀏覽器主頁(yè),代碼也完全開(kāi)源了,目前每天還有 2000 多名用戶:
https://home.code-nav.cn

看上去這些瀏覽器主頁(yè)已經(jīng)很棒了、也已經(jīng)非常精簡(jiǎn)了,但作為一名程序員,我總覺(jué)得它們還不夠精簡(jiǎn)、不夠帥、用起來(lái)還不夠方便。
就拿我自己的使用習(xí)慣來(lái)說(shuō),像我在工作中經(jīng)常要從不同網(wǎng)站去搜索內(nèi)容,比如百度、Google、GitHub;有時(shí)還要用一些翻譯啊、倒計(jì)時(shí)之類的小工具。這個(gè)時(shí)候我就要在不同網(wǎng)頁(yè)中穿梭、跳轉(zhuǎn)。
作為一個(gè)懶人,我不能接受這種麻煩。 所以我理想中的瀏覽器主頁(yè)應(yīng)該可以用最快捷的操作完成我常用的所有功能。
最好是我腦袋想到要搜索什么內(nèi)容就能立刻打開(kāi)網(wǎng)頁(yè)哈哈,但是這個(gè)我實(shí)現(xiàn)不了。
那么除了腦控外,對(duì)于程序員來(lái)說(shuō),最快捷的操作是什么呢?
答案是:命令行!不需要任何鼠標(biāo)操作,通過(guò)輸入命令來(lái)操作網(wǎng)站、使用工具。
不過(guò)很可惜,現(xiàn)在網(wǎng)上并沒(méi)有類似的網(wǎng)站。那咱就自己做一個(gè)吧!
于是,幾個(gè)不眠之夜后,我一個(gè)人從 0 開(kāi)始做出了這款真正極簡(jiǎn)的、極客范兒的瀏覽器主頁(yè) YuIndex !
如圖,這里我仿了 Linux 終端的風(fēng)格,程序員朋友是不是 DNA 動(dòng)了呢~
指路:https://yuindex.com

感興趣的同學(xué)可以看視頻來(lái)了解~

功能介紹
在這個(gè)網(wǎng)頁(yè)中,所有的操作都通過(guò)輸入命令的方式來(lái)完成。
比如輸入 help,可以查看所有支持命令。

快捷搜索
輸入 search,可以看到系統(tǒng)會(huì)自動(dòng)給出命令的提示,-f 可以指定搜索的平臺(tái),按下回車就完成了搜索。

當(dāng)然這樣肯定是很麻煩的,所以我給終端添加了 alias 別名功能??梢杂酶?jiǎn)單的命令,比如 baidu 魚(yú)皮,或者 bili 魚(yú)皮,再或者 github 搜項(xiàng)目等等。這樣一來(lái),不需要任何鼠標(biāo)操作,就能從任意網(wǎng)站搜索內(nèi)容。

類似的命令有 goto,可以讓你快速跳轉(zhuǎn)到指定的鏈接。

為了更快捷地操作,我開(kāi)發(fā)了快捷鍵功能。和 Linux 終端一樣,按 Ctrl ?+ L
鍵可以清屏;按上下鍵可以切換歷史命令。輸入 history,就可以看到所有執(zhí)行過(guò)的命令,使用 ! 就能重新執(zhí)行某命令。

在 Linux 的小黑框里敲代碼是比較枯燥的,我們不妨用 background 命令來(lái)切換一張好看的壁紙,只要輸入圖片地址即可。
或者輸入 bg 就可以隨機(jī)切換壁紙~

空間管理
有點(diǎn)類似網(wǎng)頁(yè)收藏夾,這里我參考了 Linux 的文件系統(tǒng),可以用命令來(lái)管理你的常用網(wǎng)站。
比如輸入 add
命令添加網(wǎng)站,然后用 ls
命令可以查看所有已添加的網(wǎng)站,用 mv
命令可以移動(dòng)網(wǎng)站、用 cd
命令可以切換目錄、用 pwd
可以查看當(dāng)前所在位置等等。然后配合 goto
命令可以快速訪問(wèn)。

后面我計(jì)劃開(kāi)發(fā)云端同步功能,你就可以跨設(shè)備地維護(hù)和共享自己添加的內(nèi)容。
小工具
除了上面的基本功能外,這個(gè)網(wǎng)站最強(qiáng)大的能力就在于 —— 包容萬(wàn)物,我可以把所有實(shí)用的工具全部封裝在小小的命令行里。目前網(wǎng)站的第一版只提供了一些簡(jiǎn)單的小工具,比如:
輸入 date 可以查看當(dāng)前日期時(shí)間
輸入 todo 可以管理你的待辦事項(xiàng)
輸入 fanyi + 要翻譯的內(nèi)容就可以快速得到結(jié)果,不用再跳到其他的翻譯平臺(tái)了
輸入 ping 可以檢查某個(gè)網(wǎng)站是否還活著
輸入 timing 可以快速開(kāi)啟倒計(jì)時(shí)
輸入 ddos 可以攻擊某個(gè)網(wǎng)站,額,不過(guò)我建議大家善良。
摸魚(yú)
除了上面這些啊,我發(fā)現(xiàn)這個(gè) web 終端很適合摸魚(yú)。
比如輸入 music + 音樂(lè)名,就可以快速聽(tīng)音樂(lè)
輸入 moyu 就能玩小游戲
輸入某個(gè)視頻編號(hào)就能內(nèi)嵌觀看

然后當(dāng)你感覺(jué)老板快來(lái)的時(shí)候,你就按下 Ctrl + O
快捷鍵,瞬間所有內(nèi)容都被折疊了,你可以裝作認(rèn)真敲命令,等老板走了,再按 Ctrl + O
展開(kāi)。

目前雖然這個(gè)項(xiàng)目支持的命令還不多,對(duì)大多數(shù)同學(xué)來(lái)說(shuō)也并沒(méi)有那么實(shí)用,但我之所以要花兩周的時(shí)間去做它,首先是因?yàn)槲易约旱男枨蟆⒉⑶矣X(jué)得它很帥!還有就是之前沒(méi)有做過(guò)類似的項(xiàng)目,純當(dāng)自學(xué)了~
不過(guò)我把這個(gè)程序設(shè)計(jì)地很利于擴(kuò)展,用了命令模式、遞歸解析等設(shè)計(jì),如下圖:

理論上你可以把任何工具、任何功能集成進(jìn)來(lái),你甚至可以把自己的偶像封裝進(jìn)去!

這個(gè)代碼我也完完整整地開(kāi)源了,項(xiàng)目文檔寫得非常詳細(xì),下載代碼后裝個(gè)依賴就能運(yùn)行,大家就可勁兒學(xué)、可勁兒造,可以在此基礎(chǔ)上開(kāi)發(fā)自己的 web 終端,也歡迎貢獻(xiàn)更多新的命令~
開(kāi)源:https://github.com/liyupi/yuindex

短短 3 天,我已經(jīng)收到了 35 個(gè) issues,并且合并了幾個(gè) PR,看來(lái)大家還是很積極貢獻(xiàn)(報(bào) Bug)的,謝謝朋友們。
之后我會(huì)繼續(xù)添加更多實(shí)用的命令,爭(zhēng)取把它打造成一個(gè)超級(jí)主頁(yè)!
P.S. 我是一名后端程序員,也是第一次做這種東西,水平有限,大家覺(jué)得做的不好的地方,還請(qǐng)多多包涵。不喜勿噴,謝謝大家!

最后,晚上我會(huì)在自己的編程學(xué)習(xí)圈子里直播從 0 到 1 分享這個(gè)項(xiàng)目的創(chuàng)作歷程、系統(tǒng)設(shè)計(jì)思路、前端 / 后端開(kāi)發(fā)和源碼解讀,爭(zhēng)取讓所有同學(xué)都能把這個(gè)項(xiàng)目變成自己的、有能力二次開(kāi)發(fā)并把這個(gè)項(xiàng)目寫在簡(jiǎn)歷上,我相信會(huì)比什么電商網(wǎng)站要亮眼一些~
感興趣的同學(xué)歡迎加入我的學(xué)習(xí)圈子,圈子內(nèi)可以 1 對(duì) 1 向我提問(wèn)、獲取原創(chuàng)的編程學(xué)習(xí)資料、編程知識(shí)庫(kù);并且每周跟著我的直播學(xué)做項(xiàng)目、提升編程能力、學(xué)習(xí)求職寫簡(jiǎn)歷的技巧等;星球也會(huì)定期邀請(qǐng)嘉賓來(lái)做直播分享(往期所有直播都有回放)。
掃描下方二維碼領(lǐng)優(yōu)惠券加入,加入 3 天內(nèi)可以隨機(jī)全額退款,所以哪怕你想白嫖一下資料也無(wú)可厚非,星球歡迎想進(jìn)步的小伙伴~

訪問(wèn) https://yupi.icu 網(wǎng)站可進(jìn)一步了解星球