2012年2月29日

DocPad - static web sites generator using Node.js

近來可以動態產生的「靜態網站」(static web site)逐漸被廣泛採用,主要是針對一些需求簡單的網站,讓網站設計師不必為了簡單的功能而開發維護後端程式、資料庫,因為有很多功能藉由 JavaScript 在前端就可以辦到,而且許多免費的服務可以組裝應用(例如留言回應功能用 Disqus、訪客統計功能用 Analytics)。

但是要動態產生靜態網站,還是要藉由程式的幫忙,雖然最後都一樣產生 HTML,放到 Server 之後沒什麼差別,但是產生的過程還是需要動用開發環境。因此不同程式語言的愛好者,可能會偏好使用自己熟悉的開發環境有關的工具,例如 Ruby 有很強大的 Jekyll,Python 也有很棒的 Hyde

那...新興的 Node.js 有什麼呢?

用 Google 不難發現已經有 Node 愛好者建立以下專案:

  • https://github.com/caolan/petrify
  • https://github.com/bevry/docpad
  • https://github.com/creationix/wheat


其中,我比較喜歡的是 docpad 這個專案,因為個人偏好的 Markdown、CoffeeScript、SASS/LessCSS ... 它都已經支援。

安裝:

sudo npm install -g docpad

建立專案(資料夾):

mkdir helloweb
cd helloweb

接下來的步驟有一點詭異,需要動用 sudo(第一次執行 docpad 的初始化,需要 root 權限,以加裝 plugins 及 skeletons)

sudo docpad run

跑完可能產生一些錯誤訊息,多等一下確定它真的跑完,再用 ctrl+c 終止。

因為上個步驟使用 sudo,因此產生的檔案都是 root permissions,先用 chown 切換回目前的 user。

sudo chown -R USERNAME:GROUP *

然後,就可以啟動本地測試伺服器(預設 port = 9778,唸起來很像在罵髒話)。用瀏覽器打開:

http://localhost:9778/

接下來,有興趣的朋友,請參考 DocPad 專案的 README,並協助改善這個專案。

https://github.com/bevry/docpad

目前這篇文章並不打算分享更多教學,因為很多功能一試就爆炸...,暫時先留給大家自己練功了。

雖然 DocPad 已經是 Node.js 目前相對比較完整的 static site generator,但未來還有很長遠的路要走,也因此適合想練功玩 Node.js 的朋友。如果急著要產出一個網站,還是多參考 Jekyll 吧!


沒有留言:

張貼留言

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