Gitit 簡介

最近打算發一系列的 Gitit 相關文章,希望不要拖稿拖太久….萬一去當兵了,可能會拖很久很久這樣XD

之前我一直在尋找一個好用的共同協作平台系統,原因是我覺得 MediaWiki 的語法實在太難寫了….特別是當我看到 Ubuntu-TW Wiki 的首頁原始碼的時候,都快吐血了…..當下覺得我智商不足…..orz 但後來一直尋找,尋找的目標是:語法好寫、可即時線上協作的 wiki,所謂的「即時線上協作」就是像 Google Docs 那樣有可以多人同時編輯的頁面這樣。不過一直都找不到我想要的東西….即時線上協作有 etherpad-lite 這個 open source 專案,但是他是每個 pad 獨立的,而使用 Markdown 語法的 wiki 也不是沒有,但沒有勇氣(?)去嘗試….

一開始知道 Gitit,是 @zeroplex (日落) 在噗浪上講的。因為之前也跟日落提過我想要尋找一個好用的 wiki system 這件事,他剛好不知道從哪裡獲得資訊,就分享給我了。結果沒想到,一玩下去,驚為天人啊XD

我的第一步當然是先去 Google 一下,看有沒有什麼相關訊息。直到現在這個時間點,去 Google 「gitit」還很容易找到 walkingice 的這篇文章,另外當然還是要提一下 Gitit 官方網站

Gitit 這東西,是一個用 git 當 back-end datastore 的 wiki 系統,而且自帶 web server,不需要諸如 apache 或是 nginx 的存在也可以運作。Wiki 的語法使用 Markdown,方便好寫,同時也很容易用於其他用途,可攜性佳。

簡單的 survey 過後,我決定也來試試看。沒想到在 Ubuntu 下安裝跟啟動都超簡單的….

安裝:sudo apt-get install gitit
建立目錄:mkdir wiki
進入目錄:cd wiki
執行:gitit

沒錯….就這樣….XD 你可以在這台機器的 port 5001 找到它。例如:http://localhost:5001/

只是這樣 run 起來的 wiki,所有設定都是預設值,個人是覺得 style 很醜,logo 也很醜XD 大家可以看看 gitit 官方網站就知道了….

如果是用剛剛的作法跑起來的話,這時候按下 Ctrl+C 就可以停止運作。這時候看看目錄內容,會發現多了好幾個檔案,簡單挖掘一下應該可以猜到那些東西是做什麼用的…

$ find -maxdepth 3
.
./wikidata
./wikidata/Front Page.page
./wikidata/Gitit User's Guide.page
./wikidata/.git
./wikidata/.git/refs
./wikidata/.git/HEAD
./wikidata/.git/config
./wikidata/.git/COMMIT_EDITMSG
./wikidata/.git/hooks
./wikidata/.git/info
./wikidata/.git/description
./wikidata/.git/objects
./wikidata/.git/logs
./wikidata/.git/index
./wikidata/.git/branches
./wikidata/Help.page
./templates
./templates/footer.st
./gitit.log
./static
./static/css
./static/css/custom.css
./static/img
./static/img/logo.png

首先 wikidata/.git 底下的東西我們就不要看了….其餘的部分大概是這樣:

  • wikidata 底下是 wiki 的所有頁面,看到 .git 就知道他的頁面都在 git 的版本控制之下,所以萬一出了什麼包,都還可以恢復。
  • gitit.log 裡面只有簡單的幾行….
  • static 底下放的是網站的 css 跟 logo,如果有圖可以置換 logo 的話,只要換掉 logo.png 即可。
  • templates 底下有個 footer.st,看名字就知道應該是用來產生網站 footer 的樣板,可以嘗試修改看看

把想改的東西改一改之後,可以透過 gitit & 重新執行 gitit。這指令跟前面不太一樣,後面多了一個 &,這樣可以把 gitit 丟到背景執行。而且如果你 logout 了,這個 process 還是會乖乖的留在系統裡,服務不會中斷!!

透過幾個簡單的步驟,一個精美的 wiki 就這樣架好了。不過….俗話說的好,魔鬼藏在細節裡!架起來只是第一步而已,有些地方還是需要調整跟修改的….下集待續!


Last modified on 2012-09-19