每個程序員都會進行個人知識管理,我自己在個人wiki上經(jīng)歷過幾個階段:
最開始使用在線筆記,后來不用.一是習(xí)慣了vim,可視化后按鍵別扭; 二是使用筆記容易copy/paste,自己整理的少,懶.
使用vim+vimwiki插件.后來不用,一是那時候vimwiki還不支持markdown,而是使用特定語法;二是vimwiki生成html頁面,效果看個人的css,而前端正式我的弱項,所以我的頁面很難看.
使用gitpage+jekyll+markdown.很多人用這個承載blog,開始的時候是把wiki直接放到這個上,但是很多雜亂的草稿直接公開不是太好。而且jekyll沒有toc,搜索上不是很好。最后只有自己的blog還用這個.就是現(xiàn)在這個網(wǎng)站。
現(xiàn)階段, gitbook來維護自己的wiki。實際上gitbook就是用git+markdown來編寫書籍的解決方案。效果是這個樣子:

為什么選擇gitbook做wiki管理
三個理由:
系統(tǒng)性。gitbook是適合寫書的,寫書需要系統(tǒng)性,所以gitbook有左側(cè)的目錄欄。wiki往往是片段的,所以系統(tǒng)性非常重要。TOC是個人選擇gitbook的最重要的因素。
書寫上,markdown+git天生適合程序員,高效便利。
gitbook展示非常好,html,pdf都可以,上面的圖就可以看出來,而且還提供搜索。
gitbook-server可以將文檔目錄轉(zhuǎn)換成html網(wǎng)站,或者pdf等.
軟件包方式安裝
On Ubuntu14.04
sudo apt-getinstallnodejssudo apt-getinstallnpmsudo npminstall-g gitbook-cliapt-getinstallnodejs-legacy
通過docker使用gitbook-server
docker pull billryan/gitbookdocker run-d-v"$PWD:/gitbook"-p4000:4000billryan/gitbook gitbook? serve --watch
gitbookserve .# 更多信息查看幫助信息gitbook --help
準(zhǔn)備文件和目錄
mkdir gitbook-democdgitbook-demomkdir chapter1touch? chapter1/{readme,1,2}.mdtouch README.mdechotest> README.md
編寫目錄
vim SUMMARY.md*[前言](README.md)*[第一章](chapter1/readme.md)? * [第一節(jié)](chapter/1.md)? * [第二節(jié)](chapter/2.md)
SUMMARY.md是目錄文件,gitbook生成網(wǎng)頁左側(cè)的目錄就是SUMMARY.md文件中記錄的.
運行g(shù)itbook server
gitbookserve . --port8888

非常簡單吧,這樣我們就可以專注于內(nèi)容了。
上面介紹的是本地使用gitbook-server。還可以使用gitbook.com的服務(wù),支持一本私有圖書,無限公開圖書,可以和github聯(lián)動,只要將代碼提交到github,gitbook網(wǎng)站會自動的生成,可是國內(nèi)的訪問速度基本無法使用。
還有個工具是gitbook-editor,可視化的markdown編輯工具,gitbook.com提供,做了深度集成。不怎么推薦使用,目前不太好用,而且markdown就是為了編寫時不考慮展示,用了可視化工具,感覺效率不怎么高了。
使用docker運行g(shù)itbook-server非常方便。gitlab+jenkins+docker(gitbook-server)可以非常便捷地提供研發(fā)文檔解決方案。只要開發(fā)人員想代碼一樣提交變更,文檔就自動生成了,目前我們組就是采用了這套方案,效果很好。形成了文檔的CICD,質(zhì)量很好。