1.Raneto Docs簡單說明
a Raneto是一個基於Markdown的開源的node.js知識庫平臺,它使用Markdown文件來存儲知識庫,Raneto咱們也能夠將其稱之爲"靜態網站生成器",由於它不須要數據庫存儲數據,全部的內容都是存儲在Markdown(.md)文件中,他擁有如下幾個特性(官方介紹)
a.1 簡單 咱們可使用本身喜歡的文本編輯器來建立和管理一個完整的知識平臺。
a.2 Flat Raneto是一個"flat file" CMS,意味着系統沒有數據庫,沒有Mysql查詢,沒有任何東西。
a.3 Fast Raneto輕量級,不使用數據庫,使其訪問速度也很是的快速。
e 那麼綜上所述,Raneto的用途究竟是什麼呢?我的以爲它的用途就是給公司或者團隊創建一個知識庫平臺,將(知識,規範(編碼規範、操做規範)、技術等等)分享到上面,能夠有效的減小溝通時間,固然它也能夠用來開發我的網站門戶網站等,徹底沒有開發量,可是優缺點太明顯,故而使用否在你的決定範圍以內。
f 咱們團隊大量的用到了這個東西,由於部署簡單,團隊內部的一些事情也不方便去公司的Wiki上去寫(各位懂得),故而咱們有大量的使用,故而將它分享給你們,但願你們可以喜歡。
2.準備工做
a 經過上面簡單的介紹以後咱們已經瞭解了Raneto究竟是幹什麼的,那麼接下來咱們就須要在Linux下搭建它而且配置使用它。
b 從上面咱們知道Raneto是基於nodejs的,故而在Linux系統下面爲了運行Raneto,咱們首先須要安裝nodejs,接下來在安裝Raneto。
e 操做須要的軟件以及系統以下:虛擬機(Vmware),虛擬機中安裝的Centos系統,Xshell,Xftp,nodejs包,raneto包。
3.Nodejs安裝
a 經過上面簡單的準備工做以後,如今咱們已經擁有了能夠安裝的包以及發佈的環境,若是沒有,請參考上面的文章,自行下載準備。
b 由於Raneto是基於nodejs的,因此咱們首先須要給linux安裝nodejs,那麼如何安裝呢?請繼續向下看
c 使用XShell鏈接Centos,鏈接成功後使用命令跳轉到local下面建立本身的文件夾kencery,在此文件夾下面建立nodejs文件夾,命令以下:
c.1 (1):cd usr/local/ (2):mkdir kencery (3):cd kencery/ (4):mkdir nodejs (5):cd nodejs/
d 而後使用Xftp將在上面下載的nodejs包複製到nodejs文件夾裏面。
e 將上傳的node-v6.2.0-linux-x64.tar.gz包解壓,解壓以後命名爲:node,如圖所示:
e.1 tar -zxvf node-v6.2.0-linux-x64.tar.gz
e.2 mv node-v6.2.0-linux-x64.tar.gz node
f 編輯文件添加環境變量
f.1 vim /etc/profile
f.2 在文件末添加以下命令而且保存,確認添加無誤:
#(/usr/local/kencery/nodejs/node此路徑是nodejs的解壓的路徑)
export NODE_HOME=/usr/local/kencery/nodejs/node
export PATH=$PATH:$NODE_HOME/bin
export NODE_PATH=$NODE_HOME/lib/node_modules
f.3 輸入以下命令使剛纔修改的文件生效 source /etc/profile
g 全部上面的操做完成以後,咱們輸入以下命令查看nodejs的版本,若是出現版本則說明安裝成功,不然則是安裝失敗,請檢查流程
g.1 node -v
4.Raneto安裝
a 經過上面簡答的準備工做以後,咱們已經擁有了能夠安裝的包和發佈的環境而且也安裝成功了nodejs,若是上面沒有準備充分,請自行準備。
b 使用XShell鏈接Centos,鏈接成功後使用命令跳轉到local下面建立本身的文件夾kencery,在此文件夾下面建立raneto文件夾,命令以下:
b.1 (1):cd usr/local/ (2):mkdir kencery (3):cd kencery/ (4):mkdir raneto(5):cd raneto/
c 而後使用Xftp將在上面下載的raneto包(Raneto-0.9.0.tar.gz)複製到raneto文件夾裏面,而且將包解壓,解壓以後命名爲raneto,如圖所示:
c.1 tar -zxvf Raneto-0.9.0.tar.gz
c.2 mv Raneto-0.9.0 raneto
d 解壓以後跳轉到raneto下執行安裝命令,命令以下:
d.1 (1):cd raneto/ (2):npm install(時間不是通常的哦長) (3):npm start
e 若是以上命令執行沒有意外,這時候說明你的raneto已經啓動了,這時候在安裝的本機上已經可使用http://localhost:3000來訪問了,可是若是想在本身的機器上訪問,則須要給linux下開放3000端口,而且重啓防火牆。
f 安裝完成以後使用我本地電腦訪問(http://192.168.37.133:3000/),可是當加載完成的時候咱們頁面是亂的,監控看了一下,發現裏面有一個lib文件夾沒有,爲何沒有呢?(只能說我真的不知道,不過我懷疑是被牆了,因此在執行命令的時候沒有下載下來,可是有想源碼中下載下來就應該含有呀,可是確實沒有),不過不重要,找到這個lib文件夾(themes/default/public/)而且放入到安裝的路徑下便可。頁面亂如圖所示:
g 最後重啓Raneto(Ctrl+C關閉),使用命令npm start(若是你但願在後臺運行:nohup npm start
,而後你就能夠關掉命令行了。當你再次須要關閉Raneto時,須要ps -fe | node
獲得PID以後 kill PID
))從新啓動,訪問發現頁面變得很整齊,很規整。
5.Raneto配置完成以後的文件結構說明
a 當Raneto安裝完成以後,在學習使用它以前,先簡單看一下它的文件結構讓咱們對其有個簡單的瞭解,截圖以下:
a.1 如圖所示,大部分文件夾以及文件咱們不須要了解,也不須要配置,咱們主要了解example和package.json這兩個配置文件便可,example爲默認系統中的頁面內容,package.json爲配置啓動哪個文件夾做爲系統使用的內容。
a.2 至於其餘文件咱們作簡單瞭解,app應用程序的配置文件,bin安裝文件,node_modules爲raneto依賴的包內容(好比搜索引擎),themes爲網站的主題信息。
a.3 配置文件簡單說道這裏吧,這種東西主要仍是要應用在實踐中,故而咱們開始配置本身的內容。
6.Raneto配置本身的網站數據
b 首先跳轉到raneto的解壓路徑下,而後建立文件夾kencery,在kencery文件夾內新建content目錄(顧名思義就是放內容文件),而後咱們在將example目下的server.js、package.json、config.default.js複製到kencery目錄下,最終部署完成以後如圖所示:
c 當上面的配置完成以後咱們回到raneto的解壓路徑下,看到含有一個package.json(不是kencery下的,而是主目錄下的),打開它,咱們找到節點scripts,以下如所示,修改我畫起來的紅框裏面的內容和爲咱們建立的文件夾的名稱以後保存便可。
d 最後重啓raneto,繼續訪問發現已是訪問咱們配置的新的內容了,在這裏咱們配置就已經完成了,可是咱們發現內部沒有頁面,這時候咱們按照example下的content的結構添加幾個頁面去測試,你就會明白該怎麼設置了。
7.Raneto在線編輯/排序/其它
a 當上面給咱們本身配置成功本身的網站信息以後,輸入路徑訪問,發現內容不多,這時候咱們就須要寫入大量的網站信息到系統中,可是發如今咱們訪問的頁面上默認是不能進行在線編輯的,那麼這時候若是咱們還去服務器上面去寫數據的話,會致使操做比較慢,因此Raneto默認含有配置在線編輯的選項,只是默認
是不啓用的,咱們將其啓用。
a.1 首先咱們打開爲咱們本身建立的文件夾(kencery),修改文件config.default.js 中的allow_editing的值爲true,而後保存。
a.2 從新啓動raneto,打開頁面,進入頁面詳細頁面以後,發現多了一些小+號和Actions,單擊這些內容自行測試。
b 以下圖所示,咱們看到了三個模塊(首頁、權限管理、添加),這時候咱們若是想要將權限管理排序在第一位該如何作呢?
b.1 打開kencery下的config.default.js文件中,咱們發現有這樣一個屬性:page_sort_meta: 'sort'。
b.2 繼而跳轉到content下的權限管理文件夾下,建立sort文件,在內部寫入0,保存
b.3 從新啓動raneto,打開首頁頁面,發現排序已經完成。
b.4 備註:若是你們看到首頁這個內容還在,那是由於首頁是系統默認的,若是不想其排序在第一個,能夠刪除以後建立首頁文件,而不是放到content文件夾下,結構如圖所示:
備註:能夠詳細看一下kencery下的config.default.js文件中的全部的屬性,均有備註,很容易知道,請你們自行測試,查看頁面變化。
8.Raneto限制用戶只能登錄才能訪問信息
a 按照上面的步驟咱們已經建立了不少頁面,可是這是屬於公司內部的東西的,不但願全部人都能瀏覽咱們的知識庫,只想咱們一個團隊的人看到,因此咱們須要給網站配置登陸信息(固然最好部署在局域網內,不容許局域網外的人訪問最好)。
b raneto暫時不支持配置多個用戶名密碼,也就是說只能配置一個用戶名密碼。
c 首先咱們找到kencery下的config.default.js配置文件中的authentication和credentials屬性,啓用權限,而且填寫你本身的用戶名密碼,如圖所示:
d. 而後回到安裝的路徑下,條主電腦themes/default/templates目錄下的layout.html,打開layout.html,
d.1 在body標籤開始之下添加
{{#config.authentication}}
{{#loggedIn}}
d.2 在body標籤結束以前添加如圖所示(跳轉路徑本身定義)
c. 保存上面的文件以後從新啓動raneto,繼續打開網站瀏覽,發現已經提示咱們須要跳轉到登陸頁面了,輸入剛纔設置的用戶名密碼,單擊登陸,跳轉到主頁。
9.對其進行漢化
a 綜上完成以後,咱們打開網站,輸入用戶名密碼進入系統以後,所有頁面已經徹底展現,可是咱們發現頁面中除了咱們本身錄入的中文數據以外,其它的所有都是英文,這時候咱們的需求就是如何將提示以及頁面靜態信息漢化呢?下面咱們就來講明一下
a.1 首先咱們打開kencery下的config.default.js文件,找到屬性 locale: 'en',將其值修改成'zh',保存關閉。
a.2 而後找到安裝包路徑下的app/translations,在下面看到含有一個文件en.json,拷貝一份命名爲zh.json,打開以後,按照模塊去修改內部的內容,如圖所示(下面圖片上我只是簡單修改了一點點,其餘內容你們本身去測試吧)
a.3 修改完成以後保存,從新啓動raneto,繼續瀏覽頁面發現已經完成了漢化。
天天一點點都是進步html
若是文章哪裏存在問題,歡迎你們指出來,我會在第一時間修改。node