12/28/2006

css_dryer: DRY Up Your CSS

css_dryer 是一個將 CSS Dry UP的技術。想法很簡單,他將 CSS 視為 HTML,然後用 Rails 來產生 CSS 相關的內容。


其實他的開宗明義就是
Cascading style sheets (CSS) are wonderful but repetitive. Rails strongly discourages repetition, the don't repeat yourself (DRY) principle, so writing CSS feels ungainly in Rails.
因為 CSS 重複很多,所以不符合 DRY 原則,所以我們需要 DRY 一下 XD 雖然很符合 Rails 邏輯,但是這個東西到底有沒有用呢?老實說,我是持反對的態度的。因為 CSS 其實是 ART 去專職負責的,當初設計的原因也是因為 CSS 如果設計的好,是可以做到完全將程式跟美工分開的程度。如果 ART 能夠完全使用 CSS 去做到所有排版需要,那麼程式設計師沒必要,也最好不要去干涉 ART 負責的事情。這個 Plugin 雖然有點用途,但是你難道要強迫美工去學習 Ruby 的語法嗎?所以大家看看就算了:p

安裝方式是
$ script/plugin install http://opensource.airbladesoftware.com/trunk/plugins/css_dryer
使用方式是產生相關 Controller
$ script/generate controller dry_css
然後寫相對應的 controller
class DryCssController < ApplicationController
layout nil
session :off

before_filter :set_headers

private
def set_headers
headers['Content-Type'] = 'text/css'
end
end

這樣 http://www.example.com/dry_css/ 就會回傳 CSS 內容了。最後記得在 header 寫上
<link href='/dry_css/site' rel='Stylesheet' type='text/css'>
即可。




沒有留言: