2008/09/16

QOTD: Paul Graham on Language

摘自 Hackers & Painters

* 電腦程式只是文字。選用的語言則決定了你的語彙能力。程式語言是程式設計者思考的方式。

* 程式設計師傾向歸屬於所用語言的派別,甚至比他們所用的語言區隔更大。因此,談到某種語言優於其他,會被認為是壞習慣。但是連程式設計師自己都不相信這種虛偽的禮節。我對於程式語言的看法或許會惹怒很多人,不過我認為這是了解駭客最好的方法。

* 程式語言是用來思考程式,而不是用來展現你已經想出來的程式。它應該像是一支鉛筆,而不是一支鋼筆。如果大家寫程式的方法跟我大學所學相同,靜態型別應該會是一個優秀概念,不過,我所認識的每一位駭客,都不用這種方式來撰寫程式。我需要一個可以隨意擦寫塗抹的程式語言,而不是讓語言要求我正襟危坐地捧著型別,非常禮貌地與嚴謹過時的編譯器對話。

2008/09/12

NuPlone Hacking

NuPlone 是 Plone3 的內建模組,啟用後能讓網站外觀煥然一新,參看它的程式內容,也可以一窺 GenericSetup 和 CSS Registry 的設定方法。自己還沒找到滿意的 Plone3 Skin 教學文件,而且發現 qPloneSkinDump 目前只支援 Plone2.5,只好逛進 NuPlone 目錄。在 skins/nuplone_styles 裡,像 base.css, columns.css 等檔案是空檔,它們會「蓋」掉系統預設的設定值嗎?

2008/09/03

jQuery Example on Plone

jQuery 是一套 JavaScript 函式庫,可用來處理動態網頁或 AJAX 技術。台灣有 jQuery 中文社群今年六月剛在 http://groups.google.com/group/jquery- 成立討論區。

如何讓 CMS 結合 jQuery 之類的技術呢? 在 David Bain示範影片,可以看到 Plone3 製作 Fade In 文字效果的步驟。對新手而言,影片內容過於簡略,我把實作過程的細節補充於此。

設定 Kupu 的 Character Style

進入 Site Setup 點選 Visual editor,在 Styles 區塊裡新增 Fade In 選項並存檔,格式和內容如下:
Fade In|span|fadeIn

建立並註冊 javascript 程式

進入 ZMI 點選 portal_skins 到 custom 目錄,新增 DTML Document 設定 id 為 custom-jquery.js 點選 Add and Edit,在方框裡填寫如下內容並存檔:
jq(document).ready(function(){
//
jq('.fadeIn').fadeIn(10000);
});
範例中的「jq」就是 Plone 裡 jQuery 控制符號。

進入 ZMI 點選 portal_javascripts 在 Add a new script 方框裡設定 id 為 custom-jquery.js 按 Add 鈕,再把 Debug/development mode 選項打勾按 Save 鈕。

新增 CSS 設定值

進入 ZMI 點選 portal_skins 的 plone_styles,再點選 ploneCustom.css 裡的 Customize 鈕,在方框裡加入下列內容並存檔:

.fadeIn {
display: none;
}
點選首頁 Edit 在 Body Text 方框裡選取想要設定 Fade In 效果的文字,存檔後可以看到效果。