支持中文!秒建 wiki 知識(shí)庫(kù)的開(kāi)源項(xiàng)目,構(gòu)建私人知識(shí)網(wǎng)絡(luò)
不知道有沒(méi)有人和我一樣,覺(jué)得自建的東西是互聯(lián)網(wǎng)上的“自留地”、私人空間,有一種自己的一畝三分地隨心所欲的痛快。
比如自建的博客想寫(xiě)什么隨筆就寫(xiě)什么,不用取悅讀者可以自?shī)首詷?lè);再比如自建的 wiki 有不會(huì)的知識(shí)點(diǎn)就可以直接記錄,不用擔(dān)心被嘲笑低級(jí)。拋開(kāi)共建這塊不聊,Wiki 不同于博客的隨性,記錄的內(nèi)容更注重知識(shí)點(diǎn)和分類(lèi),可以用來(lái)構(gòu)建自己的知識(shí)網(wǎng)絡(luò)。
如果把博客比作“日記本”,那 wiki 就是“筆記本”它用來(lái)記錄知識(shí)點(diǎn),方便用時(shí)查閱和更新,有清晰的目錄而且一個(gè)知識(shí)點(diǎn)還可以關(guān)聯(lián)到其它知識(shí)點(diǎn),逐步拓展成“百科全書(shū)”。
一、介紹
知識(shí)在于積累,還不能忘記梳理。
今天,我們要介紹的開(kāi)源項(xiàng)目是專(zhuān)門(mén)用來(lái)構(gòu)建 wiki 平臺(tái),助你梳理知識(shí)點(diǎn)的 wiki.js
地址:github.com/requarks/wiki
它是一款輕量級(jí)、功能強(qiáng)大的 wiki 開(kāi)源項(xiàng)目,擁有評(píng)論、Markdown 編輯器、圖片上傳、標(biāo)簽、全局搜索、協(xié)同編輯、編輯歷史、用戶管理、谷歌分析等功能,而且支持高度自定義。
用到的技術(shù)棧也不同于老舊的 wiki 系統(tǒng),它采用了 Node.js、PostgreSQL、Vue.js、Docker 等技術(shù)?;?Docker 實(shí)現(xiàn)的一鍵部署,頗有 WordPress 之風(fēng),不要太爽!
重點(diǎn)是支持中文,而且界面簡(jiǎn)潔還不失美感,這點(diǎn)足以讓它在眾多同類(lèi)項(xiàng)目中脫穎而出。
看到這兒,你是不是手癢了呢?下面就和我一起來(lái)讓它跑起來(lái)吧!
二、安裝
開(kāi)源項(xiàng)目成功的必要因素之一就是有詳細(xì)易懂的文檔,而安裝說(shuō)明又是重中之重。
Wiki.js 官方文檔提供了多種部署方法,包括:Linux、macOS、Windows、Docker、k8s 等,涵蓋了幾乎所有可能性,十分全面。
下面我就介紹其中最快捷和通用的一種,即基于 Docker 的 Docker Compose 部署。
Tips:如果你不懂 Docker 建議跟著 docs.requarks.io/install/ubuntu 逐步執(zhí)行
下面我將主要介紹 Linux 下的安裝步驟,其它系統(tǒng)有桌面版不再贅述。
如果你機(jī)器上有 Docker 僅需兩步即可完成安裝。
第一步,安裝 docker-compose:
1、下載
curl -L https://get.daocloud.io/docker/compose/releases/download/v2.4.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose2、加執(zhí)行權(quán)限
$ sudo chmod +x /usr/local/bin/docker-compose3、創(chuàng)建快捷方式
$ sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose至此,你就可以在任何地方使用 docker-compose 命令了。
第二步,運(yùn)行 docker-compose:
1、創(chuàng)建配置文件 docker-compose.yml 內(nèi)容如下:
整個(gè)項(xiàng)目分為 數(shù)據(jù)庫(kù) 和 項(xiàng)目代碼 兩部分,與之對(duì)應(yīng)的是 pg 容器 和 wiki 容器。
2、在配置所在的目錄下,執(zhí)行命令:
- 運(yùn)行:docker-compose up -d
- 查看容器:docker ps
- 停止:docker-compose down
最后,如果你想開(kāi)啟 HTTPS 的話,我這里推薦用 Caddy 服務(wù)器。沒(méi)用過(guò)沒(méi)關(guān)系,我們寫(xiě)過(guò)介紹使用 Caddy 的文章特別簡(jiǎn)單。
Caddyfile 的配置內(nèi)容如下:
8001 端口對(duì)應(yīng)的是上面 wiki 容器的 ports 端口映射
域名 { reverse_proxy 127.0.0.1:8001}執(zhí)行 caddy start 啟動(dòng) Caddy 服務(wù)器,瀏覽器中訪問(wèn)對(duì)應(yīng)的域名,網(wǎng)站初始化的引導(dǎo)界面,就會(huì)出現(xiàn)在你的面前了。
至此,以上就是 wiki.js 安裝的全過(guò)程,你跑起來(lái)了嗎?
三、瑕不掩瑜
Wiki.js 并不是十全十美的,雖然我也是剛上手,但還是發(fā)現(xiàn)了一些美中不足:
- 第一次訪問(wèn)加載速度較慢
- 雖然 wiki.js 更新積極、提交頻繁,但目前它還不支持自定義主題
- 對(duì)中文搜索不友好,默認(rèn)不支持中文搜索,需要采用 ES 但這樣就不再輕量,或者采用 pg 插件讓 pg 支持中文分詞
- 中文翻譯覆蓋率并不像官網(wǎng)展示的 100%,管理后臺(tái)里還是有未翻譯的地方
但是瑕不掩瑜,它基本上實(shí)現(xiàn)了我對(duì) wiki 想要的所有功能。而且總好過(guò)自己從頭實(shí)現(xiàn)一個(gè) wiki 系統(tǒng)吧,接下來(lái)我會(huì)用 wiki.js 做一個(gè)新的網(wǎng)站。
等我玩順手了搞通上面的問(wèn)題就去給它提 PR 做貢獻(xiàn),期待更強(qiáng)大的 wiki.js!
四、最后
知識(shí)需要融會(huì)貫通。
知識(shí)本是雜亂無(wú)章的,需要通過(guò)實(shí)踐經(jīng)驗(yàn),讓它們建立聯(lián)系,變得井然有序,才會(huì)得心應(yīng)手,釋放出強(qiáng)大的創(chuàng)造力。
最后,用 wiki.js 構(gòu)建你的知識(shí)網(wǎng)絡(luò),梳理已有的知識(shí)不斷推陳出新,讓它在你尋求更高突破的路上,助你一臂之力!
更多講解開(kāi)源項(xiàng)目的文章盡在 HelloGitHub