2012年3月8日

Instiki 安裝筆記,輕巧的 Wiki 引擎,支援 Markdown


Instiki 是一套 Wiki 引擎,有著清爽乾淨的版面;它使用 Ruby 開發,資料庫預設為 sqlite。

支援 Markdown (預設)是我想嘗試它的主要原因,因為 Markdown 是用過就再也回不去的一種簡易文字標記格式。當我用 Markdown 寫筆記、記錄、整理資料、寫電子郵件、寫書...,就不太想再用 Mediawiki 或 Dokuwiki 的格式,用太多種格式真的經常會混淆。

在 Ubuntu Server 可以很快完成安裝:
  1. sudo gem update --system
  2. sudo gem update
  3. sudo apt-get install ruby ruby1.8-dev libopenssl-ruby rake rubygems libsqlite3-ruby1.8 ri1.8 libxslt-dev libxml2-dev libsqlite3-dev swig flex bison
  4. git clone https://github.com/parasew/instiki.git
  5. cd instiki
  6. ruby bundle
  7. ./instiki --daemon
用瀏覽器打開: http://localhost:2500

如果要跑 80 port,則可以搭配 Apache 的 Passenger 模組,使用說明請參考這篇

Instiki 也有一篇教學說明 Dreamhost 如何安裝,主要是 sqlite3 資料庫版本問題需要 patch。

看到 Ruby 寫的 Web App,也許有朋友就會開始想,是不是能夠架在 Heroku 呢?實際上已經有人這麼做,這位老兄也將它修改過的 instiki 分享在 GitHub。
  1. git clone git://github.com/lazzarello/instiki-heroku.git
  2. cd instiki-heroku
  3. heroku create
  4. git push heroku master
  5. heroku rake db:migrate

需要注意的一點是,instiki-heroku 是使用較舊版本(0.18.x)修改,並非最新的 0.19.x。這個 heroku 專用版和官方最大的差別,在於資料庫預設改用 PostgreSQL for production。因為 Instiki 官方版本預設採用的 sqlite3,對於 Heroku 這種檔案系統 read-only 的雲端方案,就會遇到無法存取磁碟的權限問題。

使用 Heroku(僅用到免費服務的部份)架設的 Instiki 網站:
  1. http://wiki.sslab.co/

對於小型 Wiki 網站來說,Instiki + Heroku 真是省錢方案,只要自已買個網域名稱,就不太需要其它花費。當流量開始大起來,那就付點錢給 Heroku 升級成更高的方案。

若要自行使用 Ubuntu Linux Server 架站,請注意 10.04(包括 Linode 提供的版本),預設的 Ruby on Rails 環境可能無法正確執行最新版 Instiki,必須換到舊版本(0.18.x)。

雖然 Instiki 是個輕薄短小的 Wiki 引擎,但它的功能發展其實很值得關注:
  1. 支援 S5 簡報(用 Markdown 打字就自動變成投影片!)
    投影片範例
  2. 可以處理 SVG 繪圖(直接在文字內容描述向量圖型)
  3. 它內建輸出 TeX 的功能,要轉成 PDF 很容易。
  4. 當然!Markdown + Pandoc 就幾乎無敵啦!轉 ePub 電子書也沒問題。

若要在 Instiki 加上 disqus 留言回應功能,可能會遇到 bug,因為 disqus 的 JavaScript 目前遇到 application/xhtml+xml 的 content-type(http response)就會造成執行期的錯誤。

暫時可以先透過修改 app/controllers/application_controller.rb 的 xhtml_enable? 傳回值(永遠傳回 false)來修正這個問題:

def xhtml_enabled?
    #in_a_web? and [:markdownMML, :markdownPNG, :markdown].include?(@web.markup)
    false
end

沒有留言:

張貼留言

lyhcode by lyhcode
歡迎轉載,請務必註明出處!