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