說明
個人準備建立一個小企業內部的知識庫,主要的要求有如下幾條:
- 支持Markdown進行編輯
- 簡單,易用
- 可以和源碼管理工具集成,便于進行知識的版本管理
經過比較和查找,沒有發現完美的開源方案,但是找到了一個小而美的東東Raneto,除了第三條無法滿足,其它還是不錯的,于是進行了一下嘗試。
Raneto
Raneto需要node.js上執行,至少4.0.0版本,不需要數據庫的支持。
使用
$ git clone https://github.com/gilbitron/Raneto.git
$ cd Raneto
$ npm install
$ npm start
默認的端口為3000,可以在瀏覽器中訪問一下,看一下效果
配置
- 設置自己的文檔目錄
# 創建自己的文檔庫目錄,這里假設是hutou
$ mkdir hutou
$ cd hutou
# 拷貝配置文件
$ cp ../example/*.js .
$ cp ../example/*.json .
# 創建文檔目錄
$ mkdir content
# 創建一個演示用的文檔
$ cd content
$ touch firtfile.md
$ echo "this is a test" > firtfile.md
- 配置文檔目錄
修改raneto根目錄下的package.json
"scripts": {
"start": "DEBUG=raneto node hutou/server.js",
"start_win": "set DEBUG=raneto&&node hutou/server.js",
},
-
再次啟動服務看一下效果
顯示的內容
優化配置
目前雖然可以使用,但是不能每次修改文件都到服務器上去操作。所以去配置一下把,首先進入工作目錄,修改** config.default.js**配置文件
site_title: '虎頭的個人文檔庫',
locale: 'zh',
這些配置應該可以望文知義
這個配置文件中有用戶的配置,可以自己增加用戶
credentials : [
{
username : 'admin',
password : 'password'
},
{
username : 'admin2',
password : 'password'
}
],
登錄之后可以編輯文檔
中文搜索
這個時候的全文檢索英文可用,中文是不可用的。調查了一下,有如下的方法可以解決中文搜索的問題
下面的文字摘自網上,驗證可行
解決不能搜索中文的BUG
先下載一個lunr.js,鏈接:https://github.com/codepiano/lunr.js,解壓并將文件夾命名為lunr,接下來進入node_modules
目錄,找到里面的lunr重命名為lunr2(不建議刪除),然后再將剛下載的lunr復制進去。還要改一個地方,進入node_modules/raneto-core/node_modules目錄,剛上面那個是一樣的,將這里的lunr重命名為lunr2,再將剛下載的lunr復制進去。再次重啟,這里重啟的時候可能會出現error,原因是node.js少了一些庫,仔細看缺了哪些庫,然后npm install ****
我驗證了一下,應該是缺少nodejieba,在package.json中增加下面的內容
"nodejieba": "^2.0.0"
整合
raneto本身沒有插件體系,如果有時間想整合一下資源將知識庫的版本管理(依賴與版本管理工具)整合進來