支援中文!秒建 wiki 知識庫的開源專案,構建私人知識網路

削微寒發表於2022-04-15

不知道有沒有人和我一樣,覺得自建的東西是網際網路上的“自留地”、私人空間,有一種自己的一畝三分地隨心所欲的痛快。

比如自建的部落格想寫什麼隨筆就寫什麼,不用取悅讀者可以自娛自樂;再比如自建的 wiki 有不會的知識點就可以直接記錄,不用擔心被嘲笑低階。拋開共建這塊不聊,Wiki 不同於部落格的隨性,記錄的內容更注重知識點和分類,可以用來構建自己的知識網路。

如果把部落格比作“日記本”,那 wiki 就是“筆記本”它用來記錄知識點,方便用時查閱和更新,有清晰的目錄而且一個知識點還可以關聯到其它知識點,逐步擴充成“百科全書”。

一、介紹

知識在於積累,還不能忘記梳理。

今天,我們要介紹的開源專案是專門用來構建 wiki 平臺,助你梳理知識點的 wiki.js

地址:https://github.com/requarks/wiki

它是一款輕量級、功能強大的 wiki 開源專案,擁有評論、Markdown 編輯器、圖片上傳、標籤、全域性搜尋、協同編輯、編輯歷史、使用者管理、谷歌分析等功能,而且支援高度自定義。

用到的技術棧也不同於老舊的 wiki 系統,它採用了 Node.js、PostgreSQL、Vue.js、Docker 等技術。基於 Docker 實現的一鍵部署,頗有 WordPress 之風,不要太爽!

重點是支援中文,而且介面簡潔還不失美感,這點足以讓它在眾多同類專案中脫穎而出。

看到這兒,你是不是手癢了呢?下面就和我一起來讓它跑起來吧!

二、安裝

開源專案成功的必要因素之一就是有詳細易懂的文件,而安裝說明又是重中之重。

Wiki.js 官方文件提供了多種部署方法,包括:Linux、macOS、Windows、Docker、k8s 等,涵蓋了幾乎所有可能性,十分全面。

下面我就介紹其中最快捷和通用的一種,即基於 Docker 的 Docker Compose 部署。

Tips:如果你不懂 Docker 建議跟著這裡逐步執行

下面我將主要介紹 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 做一個新的網站:

https://cheatsheet.store/

等我玩順手了搞通上面的問題就去給它提 PR 做貢獻,期待更強大的 wiki.js!

四、最後

知識需要融會貫通。

知識本是雜亂無章的,需要通過實踐經驗,讓它們建立聯絡,變得井然有序,才會得心應手,釋放出強大的創造力。

最後,用 wiki.js 構建你的知識網路,梳理已有的知識不斷推陳出新,讓它在你尋求更高突破的路上,助你一臂之力!

更多講解開源專案的文章盡在:https://github.com/HelloGitHub-Team/Article

相關文章