4/30/2007

Beast :最符合 Lighty 想法的討論區

當我一開始看到 Beast 的時候,我總覺得這是一個奇怪的東西, Beast 只是一個簡單到不能再簡單的「討論區」,而且真的沒別的了。可是當我開始真正花時間在 survey 他的時候,我發現到這真的是一個把精簡 code 的精神發揮到極限的東西,裡面的 code 相當的精彩。

我們來看看他的內容,截至目前的 trunk 為止,Controller 504行,Helper 94行,Model 238 行,Library 69行,如果不算 Unit test 一共 905行。一千行以下的討論區,到底能有什麼功能呢?

  1. 簡單易用的討論區:因為他就是討論區,所以一切的功能就是討論區,不過使用起來感覺蠻好用的。也支援一些文字格式化。
  2. REST Web API:他是目前 REST 化最徹底的 Rails 套件之一,也延續了 Rails 1.2 REST 最棒的特色,「當你完成一個內部功能的同時,你也順便寫完了 REST Web API」。
  3. OpenID Support:ㄜ,你沒看錯,他有 Open ID Support 。
  4. GetTEXT Support:所以 i18n 解決了。Btw,在我讀 Beast code 的同時,我也差不多把 po 檔寫完了,明後天就可以 release 出來。
  5. 沒有做任何縮圖上傳的機制:沒錯,你沒看錯。 Beast 是直接使用 gravatar 的縮圖,所以如果你沒有 gravatar 的帳號,就註冊一個吧。這樣的作法雖然奇怪,但是相當的合乎 MarshUP 的想法
仔細觀察 Beast 的設計哲學,可以說是「討論區該有的功能,Beast 一行都不少,除了最重要的功能之外,Beast一行 code 都不多」。不管是自己使用 Beast ,或是看 Beast 裡面的 code , Beast 都是相當好的選擇。

介紹了Beast,當然簡單講一下怎麼安裝。

下載 beast
這裡使用 svn 來安裝
svn checkout http://svn.techno-weenie.net/projects/beast/trunk
安裝 Edge Rails
在剛剛下載下來的svn目錄下,打入
rake freeze_edge
安裝 RedCloth
gem install RedCloth
修改 config
修改 dayabase.yml 的 production 設定

將 db schema 設定到 db 裡面
rake db:schema:load RAILS_ENV=production
如此,啟動您的 Rails App 即可。

2 則留言:

kuni 提到...
作者已經移除這則留言。
匿名 提到...

用目前的rails版本好像會有問題。會有pagination錯誤。看了一下現在的版本說明,找到下面這個說明
 &bsp;Deprecate pagination for Rails 1.2.4. Install the classic_pagination。
然後在beast討論區看到作者說Rails 1.2.3是OK的(這篇),所以就試了一下是沒問題的。
我是用revision=6799這個版本。
這樣大家就不用try了。