聚會時間公告: 因應COSCUP 2011, Kalug 8月份休會一次

三月 11, 2014

小惡魔AppleBOY
AppleBOY
is about »

tag cloud

» Ruby Compass and Sass Auto Testing Environment

Compass Home   Compass Documentation

Compass 是一套 CSS Authoring Framework,也是基於 Sass 語法的一套 Framework,先前寫了 GulpCompass Plugin,在針對自動化測試時候出現版本相依性不同,造成無法自動測試成功。自動化測試目前跟 Github 最常搭配的就是 Travis CI 或者是 Codeship,當然如果非 Open source 專案可能就要自己架設 CI 伺服器,個人推薦就是 Jenkins。這次遇到的問題其實跟 Ruby Gem 版本相依性有關,由於要測試 Compass 所有 Command 語法,所以使用了 Susy + sass + compass,如果在 .travis.yml 內直接寫

language: node_js
node_js:
    - "0.10"
before_install:
    - gem update --system
    - gem install sass
    - gem install compass
    - gem install susy
    - gem install modular-scale

這樣編譯出來的結果會噴底下錯誤訊息

/home/rof/.rvm/rubies/ruby-1.9.3-p327/lib/ruby/site_ruby/1.9.1/rubygems/core_ext/kernel_require.rb:55:in `require’: cannot load such file — sass/script/node (LoadError) from /home/rof/.rvm/rubies/ruby-1.9.3-p327/lib/ruby/site_ruby/1.9.1/rubygems/core_ext/kernel_require.rb:55:in `require’ from /home/rof/.rvm/gems/ruby-1.9.3-p327/gems/compass-0.12.2/lib/compass/sass_extensions/monkey_patches/browser_support.rb:1:in `‘ from /home/rof/.rvm/rubies/ruby-1.9.3-p327/lib/ruby/site_ruby/1.9.1/rubygems/core_ext/kernel_require.rb:55:in `require’

會造成這樣的原因就是目前 sass、compass、susy 都不能安裝最新版本。Compass 目前版本是 0.12.3 只有支援 Sass 3.2.14 版本,但是 Sass 前幾天剛推出 3.3.1 版本,另外 Susy 也是一樣問題,由於 Susy 推出 2.0.0 版本需要 Sass 3.3.0 版本以上才可以使用,所以針對 Compass 變成只能指定版本測試,否則會得到上述錯誤訊息,請將 .travis.yml 修正為

language: node_js
node_js:
    - "0.10"
before_install:
    - gem update --system
    - gem install sass --version 3.2.14
    - gem install compass --version 0.12.3
    - gem install susy --version 1.0.9
    - gem install modular-scale

這樣就可以正常跑出測試結果。

一月 3, 2014

小惡魔AppleBOY
AppleBOY
is about »

tag cloud

» 前端工程師必看: 十大 CSS 技巧

css3

2014 年第一篇文章來寫前端工程師必須要瞭解的 [CSS] 技巧,此篇其實來自於 KidsIL Blog 內的一篇 10 Great CSS Tips for every Web Developer,裡面作者紀錄了十大 CSS 技巧,看完這十大後,發現有些技巧曾經出現在 Even Wu 給網頁設計師的建議一文,這些技巧都算是蠻基本的,對於前端工程師有很大的幫助,如果尚未瞭解或還沒開始使用的開發者,也可以建議團隊開始使用。底下內容來自於原網站,在加上筆者的一些補充。

用 firebug 或 console 來除錯

Firefox 還沒有推出 Developer Tools 時,大家一定是用 Firebug 來除錯,2006 年 Firebug 第一版 release 出來,讓 web 開發者可以更快速的瞭解網站除錯,也可以透過 Firebug 來瞭解網站的 performance。但是現今,Firefox 推出了自家 Developer Tools,而 Chrome 也是有很多好用的 Tool tips 及強大的 Workspace,對 Workspace 不熟悉的,可以參考之前我寫的一篇: Coding on workspace of Chrome Developer tools

Float or Inline-Block css

先來看看範例1,中間有三個 column,分別用 float: left 方式來排列

<div class="wrapper">
    <div class="column">test</div>
    <div class="column">test</div>
    <div class="column">test</div>
</div>

CSS 寫法:

.wrapper {
    width: 400px;
    min-height: 50px;
    background-color: red;
}

.column {
    float: left;
    width: 100px;
    height: 100px;
    background-color: blue;
    margin-left: 20px;
}

會發現背景紅色 .wrapper 區塊被砍了一半,原因就是沒使用 clear: both,正確解法請看範例2,如果不是用此解法,也可以將 float 取代成 display: inline-block,解法請看範例3。上述兩種解法是最常見的,終極解法可以透過 pseudo-class :after 來解決此問題,晚點會提到此解法

用 CSS animation 取代 Javascript

原文作者寫了一篇 CSS3 Transitions to replace JavaScript animations 文章,就是要告訴前端工程師盡可能將原本使用的 jQuery animation 取代成 CSS 作法,原因在於 CSS animation 的效能遠大於 JavaScript Native Language 效能,請參考 http://www.cssanimate.com/ 網站。

Form 表單請使用 Label input

上面的例子,只要點選 NameEmail 會發現瀏覽器游標自然會移動到 text input 欄位上,設定方式很簡單,只要將 labelfor attribute 設定為 input id 即可

<label for="username">Name:</label><input type="text" id="username" />
<label for="email">Email:</label><input type="text" id="email" />

Performance: Spiriting everything

每個網站一定會有很多小 icon 圖,不管是直接使用在 html 或者是寫在 CSS 內,在網路傳輸的時候,如果 10 張 icon 就會建立 10 條 connection,然而 css_spite 就是解決了此問題,將所有的小圖集結成一張大圖,透過 css 設定來減少網路連線數,網路上很多工具來達成此目的,像是 CSS Sprite Generator,如果熟悉 Compass 工具,可以直接使用 Spriting with Compass

.my-icons-sprite,
.my-icons-delete,
.my-icons-edit,
.my-icons-new,
.my-icons-save   { background: url('/images/my-icons-s34fe0604ab.png') no-repeat; }

.my-icons-delete { background-position: 0 0; }
.my-icons-edit   { background-position: 0 -32px; }
.my-icons-new    { background-position: 0 -64px; }
.my-icons-save   { background-position: 0 -96px; }

不修改 image width & height attribute

這點其實蠻重要的,現在網站架構的瓶頸,說實在的 80% 以上都是在讀取圖檔,有時候 UI 設計師切出一張大圖,前端工程師拿去使用,結果圖檔很大,工程師就直接透過 css width height 修改圖片大小,這樣看起來是沒問題,但是網站就開始很慢,使用者開始不爽,網站自然就不會有人繼續用。正確方式就是將 image resize 成各種版本,可以直接參考這篇 Tools for image optimization

使用 max width and height 來調整 image 比例

這招其實還蠻好用的,我們先來看看例子

我們看到這張圖本來的比例大小為寬 228 高 320,但是經過底下 CSS 語法

img {
    width: 228px;
    height: 228px;
}

圖片就變成上述的例子,但是如果我們把 CSS 改成底下呢

img {
    max-width: 228px;
    max-height: 228px;
}

出來的結果就是

css3

善用 :before and :after

在前面有提到 float: left 後要加上一個 element clear: both 現在我們可以透過 :after 來解決這問題

.wrapper:after {
    content: ' ';
    clear:both;
    display:block;
}

減少 CSS 程式碼

這部份就是減少不必要的程式碼

.class {
    margin-top:5px;
    margin-right:10px;
    margin-bottom:15px;
    margin-left:20px;
}

可以寫成

.class {
    margin:5px 10px 15px 20px;
}

CSS color 部份 #RRGGBB 可以寫成 #RGB

SASS or Compass

團隊內尚未使用 SASSCompass 嗎?個人建議儘快導入這兩套工具,還不熟悉這兩套工具,建議將底下投影片看完

十一月 11, 2011

小惡魔AppleBOY
AppleBOY
is about »

tag cloud

» Sass language 和 Compass 教學投影片

Compass Home   Compass Documentation

Speakerdeck 發現一篇不錯的 SassCompass 投影片教學 Sass & Compass: The future of stylesheets now.,此教學把 Sass Language 以及 Compass 基礎撰寫方式及進階用法都介紹完畢了,非常實用,推薦給剛入門的網頁設計師,這樣一來可以減少開發時間,二來可以解決討厭的跨瀏覽器問題。

Related View

十月 5, 2011

小惡魔AppleBOY
AppleBOY
is about »

tag cloud

» 在 Windows 底下安裝 Compass CSS Authoring Framework

Compass Home   Compass Documentation

Compass 是一套 base on Sass Language 的一套 CSS Framework,它提供了豐富的 CSS3 原件,讓您可以加速開發 CSS,也繼承 Sass Language 的開發方式,支援 variables, mixins, selector inheritance…等,今天就來介紹如何在 Windows 底下快速安裝開發環境。如果想更瞭解 Sass 可以參考之前的文章: 加速開發 CSS 工具: Sass

安裝步驟 (Install Compass)

在安裝 Compass 之前,您必須要先安裝 Ruby 開發環境,在 Ubuntu 或 Debian 底下可以透過 apt 的方式安裝:

$ sudo apt-get install ruby1.9.1-full

如果你想裝 ruby 1.8 可以透過底下:

$ sudo apt-get install ruby-full

在 Windows 底下安裝 Ruby

其實在 Ruby 下載官網有製作好懶人包了,我們只要下載 RubyInstaller 網站別人包好的執行檔即可。首先到 RubyInstaller Download Page 選擇 Ruby 1.9.2-p290,下載之後直接執行,然後很簡單直接下一步按到最後,整個 Ruby 環境就建立好了。

透過 Ruby gem 安裝 Compass

安裝好上述執行檔,你會發現在 C 槽多了 C:\Ruby192,接著我們按開始->執行->打入 cmd->Enter,會跳出一個命令列視窗,接著我們利用底下步驟來安裝 compass:

# 切換到 ruby 執行目錄
cd c:\\ruby192\bin
# 先更新 gem (類似 apt-get update)
gem update --system
# 安裝 compass 套件
gem install compass

這樣直接在原來目錄下底下指令: compass -h 就可以看到底下畫面,這樣 Windows 底下大致完成了

compass_windows

大家一定會覺得每次都要切換到 C:\Ruby192 才可以執行 compass,大家可以把 C:\Ruby192 加入到個人 PATH 裡面,只要到環境變數里面設定即可,請參考下圖

compass_windows2

Related View

五月 26, 2011

小惡魔AppleBOY
AppleBOY
is about »

tag cloud

» 加速開發 CSS 工具: Sass

從來沒想過在開發 Web 網站過程,CSS Style 還可以程式化,設定變數來控制 CSS,今天來介紹一套用 command line 來轉換 CSS 的 Web Framework Plugin: SASS (Sassy CSS),可以參考 SASS 的 Change log 版本差異,目前最新版本 3.0 以後開始支援 CSS3 做開發,底下先來介紹如何安裝:

作者是在 Ubuntu 10.10 的環境下安裝,利用 apt 方式先將環境需要的軟體安裝好

# 安裝 Ruby 環境
 $ sudo apt-get install ruby
 $ sudo apt-get install rake
 $ sudo apt-get install rubygems

Ruby 的安裝只需要一行指令

gem install sass

另外也可以透過 git 方式來安裝

git clone git://github.com/nex3/sass.git
cd sass
rake install

安裝好就會 bin 目錄多出了 sass sass-convert scss 3個指令,如何轉換呢?也相當容易

mv style.css style.scss
sass --watch style.scss:style.css

style.scss 是您寫的 SASS CSS 檔案
style.css 是您要輸出的檔案名稱

至於如何撰寫 Sass 語法,就請大家參考線上手冊,文件非常清楚,相信很容易看的懂

Related View

support:

biggo.com.tw

A Django site.