不知道有沒有人和我一樣,覺得自建的東西是互聯網上的“自留地”、私人空間,有一種自己的一畝三分地隨心所欲的痛快。
比如自建的博客想寫什么隨筆就寫什么,不用取悅讀者可以自娛自樂;再比如自建的 wiki 有不會的知識點就可以直接記錄,不用擔心被嘲笑低級。拋開共建這塊不聊,Wiki 不同于博客的隨性,記錄的內容更注重知識點和分類,可以用來構建自己的知識網絡。
如果把博客比作“日記本”,那 wiki 就是“筆記本”它用來記錄知識點,方便用時查閱和更新,有清晰的目錄而且一個知識點還可以關聯到其它知識點,逐步拓展成“百科全書”。
一、介紹
知識在于積累,還不能忘記梳理。
今天,我們要介紹的開源項目是專門用來構建 wiki 平臺,助你梳理知識點的 wiki.js
地址:https://github.com/requarks/wiki
它是一款輕量級、功能強大的 wiki 開源項目,擁有評論、Markdown 編輯器、圖片上傳、標簽、全局搜索、協同編輯、編輯歷史、用戶管理、谷歌分析等功能,而且支持高度自定義。
用到的技術棧也不同于老舊的 wiki 系統,它采用了 Node.js、PostgreSQL、Vue.js、Docker 等技術。基于 Docker 實現的一鍵部署,頗有 wordPress/ target=_blank class=infotextkey>WordPress 之風,不要太爽!
重點是支持中文,而且界面簡潔還不失美感,這點足以讓它在眾多同類項目中脫穎而出。
看到這兒,你是不是手癢了呢?下面就和我一起來讓它跑起來吧!
二、安裝
開源項目成功的必要因素之一就是有詳細易懂的文檔,而安裝說明又是重中之重。
Wiki.js 官方文檔提供了多種部署方法,包括:linux、macOS、windows、Docker、k8s 等,涵蓋了幾乎所有可能性,十分全面。
下面我就介紹其中最快捷和通用的一種,即基于 Docker 的 Docker Compose 部署。
Tips:如果你不懂 Docker 建議跟著 https://docs.requarks.io/install/ubuntu 逐步執行
下面我將主要介紹 Linux 下的安裝步驟,其它系統有桌面版不再贅述。
如果你機器上有 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-compose
2、加執行權限
$ sudo chmod +x /usr/local/bin/docker-compose
3、創建快捷方式
$ sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
至此,你就可以在任何地方使用 docker-compose 命令了。
第二步,運行 docker-compose:
1、創建配置文件 docker-compose.yml 內容如下:
整個項目分為 數據庫 和 項目代碼 兩部分,與之對應的是 pg 容器 和 wiki 容器。
version: "3"
services:
db:
container_name: pg
image: postgres:11-alpine
environment:
POSTGRES_DB: wiki
POSTGRES_PASSWORD: wikijsrocks
POSTGRES_USER: wikijs
logging:
driver: "none"
restart: unless-stopped
volumes:
- db-data:/var/lib/postgresql/data
wiki:
container_name: wiki
image: ghcr.io/requarks/wiki:2
depends_on:
- db
environment:
DB_TYPE: postgres
DB_HOST: db
DB_PORT: 5432
DB_USER: wikijs
DB_PASS: wikijsrocks
DB_NAME: wiki
restart: unless-stopped
ports:
- "8001:3000"
volumes:
db-data:
2、在配置所在的目錄下,執行命令:
- 運行:docker-compose up -d
- 查看容器:docker ps
- 停止:docker-compose down
最后,如果你想開啟 HTTPS 的話,我這里推薦用 Caddy 服務器。沒用過沒關系,我們寫過介紹使用 Caddy 的文章特別簡單。
Caddyfile 的配置內容如下:
8001 端口對應的是上面 wiki 容器的 ports 端口映射
域名 {
reverse_proxy 127.0.0.1:8001
}
執行 caddy start 啟動 Caddy 服務器,瀏覽器中訪問對應的域名,網站初始化的引導界面,就會出現在你的面前了。
至此,以上就是 wiki.js 安裝的全過程,你跑起來了嗎?
三、瑕不掩瑜
Wiki.js 并不是十全十美的,雖然我也是剛上手,但還是發現了一些美中不足:
- 第一次訪問加載速度較慢
- 雖然 wiki.js 更新積極、提交頻繁,但目前它還不支持自定義主題
- 對中文搜索不友好,默認不支持中文搜索,需要采用 ES 但這樣就不再輕量,或者采用 pg 插件讓 pg 支持中文分詞
- 中文翻譯覆蓋率并不像官網展示的 100%,管理后臺里還是有未翻譯的地方
但是瑕不掩瑜,它基本上實現了我對 wiki 想要的所有功能。而且總好過自己從頭實現一個 wiki 系統吧,接下來我會用 wiki.js 做一個新的網站。
等我玩順手了搞通上面的問題就去給它提 PR 做貢獻,期待更強大的 wiki.js!
四、最后
知識需要融會貫通。
知識本是雜亂無章的,需要通過實踐經驗,讓它們建立聯系,變得井然有序,才會得心應手,釋放出強大的創造力。
最后,用 wiki.js 構建你的知識網絡,梳理已有的知識不斷推陳出新,讓它在你尋求更高突破的路上,助你一臂之力!
更多講解開源項目的文章盡在 HelloGitHub