簡單來說 gitit 非常適合 git 狂熱份子
前些日子因為接案的需求,使用了不少 github 上面的 wiki。github 的 wiki 使用 markdown 的語法,甚至可以把整個 wiki clone 下來,在 local 端寫完東西之後直接 push 上去。這樣的使用情境非常符合我的需求,想說有沒有類似的 open source 工具,果不其然,用 haskell 寫成的 gitit 就擺在那裡。
gitit 有以下的特色是我特別重視的
- 有搜尋功能,包括中文搜尋
- 不要有 mysql 之類的 database
- 不需要 Apache
- 可以直接用 vim 等工具來編輯,紀錄東西就像寫文字檔一樣簡單
- 使用 markdown 語法,寫完的文件能夠與其他工具接軌
- 因此,網頁介面可以直接匯出 epub, odt...之類的檔案
- 直接使用 git 管理 wiki 內容,寫程式習慣用 git 的人,寫起來毫無窒礙感
- 由於使用 git 管理純文字檔,因此容易備份、重建
debian 系要安裝 gitit 非常簡單,一行指令就裝完了
$ sudo aptitude install gitit
啟動也非常簡單,只要開一個空目錄,在該目錄下執行指令
$ gitit
就會自動產生需要的檔案,並且啟動一個網頁伺服器。瀏覽器只要打開 http://localhost:5001 就可以存取了。在網頁介面上頭編寫內容之後,記下 comment 並儲存,檔案內容就會透過 git 紀錄在 wikidata 目錄底下。換句話說,只要備份 wikidata 這個目錄就不必擔心筆記會隨著硬碟損壞而消失。
gitit 有些預設的選項我不是很喜歡,譬如說
- 預設要註冊一個帳號才能編輯 # 我是個人私用,理論上使用者只會有我一個人
- 檔案上傳限制太小 # 所謂上傳檔案,就是把某個檔案加進 git 裡面
- 預設版面我不喜歡 # 雖然我的螢幕不小,但我習慣 1024px 的寬度,太寬會讓文字排版變很醜
- 我不喜歡原來的 logo
- 預設的 html table 或是 code block 沒有特別的背景或是邊框
總而言之,我自己把我所需要的 config 打包了起來,大致看起來如下圖
使用方法也很簡單
# 產生一個目錄叫 wiki,取出我打包的東西之後在裡面產生一個 branch 叫 mynote
$ mkdir wiki && cd wiki$ git clone git://github.com/walkingice/gitice.git wikidata$ git --git-dir=`pwd`/wikidata/.git branch mynote
# 用來備份,別忘了在 myhost.net 上面產生一個 backup.git 的 git 目錄
$ git --git-dir=`pwd`/wikidata.git remote add myhost foo@myhost.net:~/path/to/backup.git
# 以後只要一行指令就可以備份了,放進 crontab 更是備份地神不知鬼不覺
$ git push myhost mynote:master
# 指定 config 檔來執行
$ gitit -f wikidata/gitit/config
必須注意的是,因為我更改了 config 檔,指定 static 與 templates 目錄位在 wikidata/gitit/ 底下,所以執行 gitit 的位置影響著 gitit 尋找 static templates 這兩個目錄。換言之,你要在 wikidata 這個目錄的上層目錄執行 gitit,才會正確找到這兩個目錄。
此外,gitit 還有 plugin 的功能,不過我不懂 haskell,就還沒有試過了。
你如果注意到有個 Category 的分類,其實它更像是 gmail 裡面的 label 功能,只要在某一個 page 的最上方加入
---
categories: Geek Tool
...
上方三個減號,下方三個點,中間補上 categories,這個 page 就會出現於 Geek 與 Tool 兩個分類之中。

0 意見:
Post a Comment