Bower 管理網站套件的好工具

Update: bower 在 0.9.0 版以前可以使用 component.json,但是為了避免跟其他工具命名衝突,故 0.9.0 以後版本請改為 bower.json bowerTwitter 團隊開發的一套網頁工具,用來管理或安裝 Web 開發所需要的 Package,像是 CSS 和 JavaScript,也可以依據套件的相依性來安裝,簡單來說,開發者不用再去煩惱套件相依性問題,以及時間久了想更新最新版本,還要到各 Package 網站來下載,這些步驟都省了,一個指令就可以全部做完上述的步驟。

安裝 Bower 管理套件 透過

Node.js 的 npm 工具來安裝

$ npm install bower -g
[Read More]

Node Version Manager 版本管理 NVM

2015.02.12 官方已經支援 nvm install stable,補上 io.js 說明

nodejs-light

本篇不是要介紹 Node.js,是要介紹管理 Node.js 版本的工具,之前是玩 Visionmedia 開發的 n,後來跳到玩 Creationix 開發的 nvm tool,目前支援 stable command,也就是下 nvm install stable (直接裝好 v0.12.0)。

安裝方式

可以使用 curlwget 方式安裝

$ curl https://raw.githubusercontent.com/creationix/nvm/v0.23.3/install.sh | bash
$ wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.23.3/install.sh | bash

使用方式

# 安裝最新穩定版本
$ nvm install stable
# 移除最新穩定版本
$ nvm uninstall stable
# 使用穩定版本
$ nvm use stable
$ nvm run unstable --version

如果有玩 io.js 可以下

$ nvm install iojs

輕量級 jQuery Slideshow Plugin

相信在網路上可以找到一堆 jQuery Slideshow Plugin,例如 33 POWERFUL JQUERY SLIDESHOW (SLIDERS) PLUGINS AND TUTORIALS 介紹了 33 種不同的 Slideshow Plugin,有些用起來很複雜,有些則是過於簡易,本來是想自己寫一套出來,但是想想是否可以找一套已經有輪子的架構,再拿來修改成專案所需要的套件,於是參考了這套原始碼,發現此專案只有提供 fade 和 slide 兩種效果,沒有像是投影片可以任意滑動的功能,所以自己把此功能 patch 上去,可以參考我放到 Github 的專案,寫法很容易,可以直接看線上 Example

載入 jQuery 和 plugin

[Read More]

台灣第一屆 JavaScript Conference Developer 會議

JSDC 2012

自從去年辦了台灣第一屆 2011 PHP Conference,2012年開始又來新的第一屆 Javascript Conference,在去年的 PHP 會議由於第一次開始舉辦 PHP Conference,所以比較少人投稿,導致議程裡面出現很多 Javascript 議題,這也是很多朋友的疑問 XD。底下來回顧 JSDC 5/19 (六) 個人參加的議程。由於早上差不多10點半才到,所以前兩場議程(Key Note - Ericsk, Node.JS on Windows Azure)就沒有聽到了,比較可惜。如果沒去聽現場的,可以到官方網站下載投影片參考。

[Read More]

如何使用 Apache Module mod_mime

apache_software_foundation_logo_3074

Apache 可以透過 mod_mime 模組且根據使用者定義的副檔名來 response data 給 Client 端,此功能可以應用在前台搭配 Template Library,例如 Mustache Logic-less templates,透過此 Apache 模組 可以在 html 檔案將定義好全部 Template,一次讀取進來,底下舉個例子:

我們希望 apache 能夠讀取 assets/templates/test1.mustache,並且將檔案內容放到 script 裡面,這時候就必須在 apache httpd.conf 定義

text/x-mustache-template


    AddType text/x-mustache-template .mustache
    AddOutputFilter INCLUDES .mustache

[Read More]

jQuery 1.7 透過 on 來綁定事件

既上一篇作者寫了 Javascript 前端工具 Backbone.js Framework 初學介紹,這次來將程式改寫成 jQuery 寫法,藉這個機會來介紹 jQuery 新功能 on API,底下來看看 jQuery event handle 的演進

//在 jQuery 1.3 以上版本
$(selector).live(events, data, handler);
//在 jQuery 1.4.3 以上版本 
$(document).delegate(selector, events, data, handler);
//在 jQuery 1.7 以上版本
$(document).on(events, selector, data, handler);
上面三種寫法都可以綁定網頁上全部元件,如果只是單純只是用 click bind event 的話,那只要新增的元件就無法作用,講得有點抽象,底下直接看個例子: [Read More]

Javascript 前端工具 Backbone.js Framework 初學介紹

backbone
我相信大家對於後端程式

PHP, Ruby, Python .. 等語言都已經相當熟悉,進階開發者也都接觸了好用的後端 Framework 如 CodeIgniter, CakePHP, Django, Ruby on Rail, Yii, Symfony .. 等,用 Framework 最大的好處並不是在 Framework 提供了大量工具,而是制定了 MVC 架構,讓專案多位開發者可以遵循,上了講了這麼多後端 MVC Framework,那麼前端呢?接下來介紹前端強大工具: Backbone.js

什麼是 Backbone.js 簡單來說 Backbone.js 就是一套前端 Javascript Framework,它提供 MVC 架構,相信大家都玩過後端 MVC,那至於前端呢,好像比較少人提到,這就是介紹 Backbone.js 最主要的目的。Backbone.js 包含了 Model View Controller 來讓使者操作,Model 提供了key-value 結構,以及可以 binding 大量 event,開發者可以透過 RESTful JSON interface 來跟 Backbone.js 的 Model 及 Collection 搭配。如果想瞭解 Backbone.js 線上文件可以參考

GitHub 網站,如果想瞭解程式碼可以參考 source code 註解

[Read More]

Node.js Version Management 多版本管理

nodejs-light
相信大家對於

Node.js 版本 Release 太快而感到困擾,每次新版出來,就要開始升級原本的版本,加上測試及修改,一定會浪費不少時間在上面,不管是任何語言我都希望能有一套 Version Management 來管理各版本之間的差異,以及讓使用者可以隨時切換版本來使用測試。那今天來介紹一套 Node.js Version Management,這隻程式是用 shell script 下去撰寫,可以安裝多版本在 Linux 本機上面,隨時都可以切換不同版本測試。此作者也是 expressjs Framework 發起者。

[Read More]

Front End Engineer 前端設計師必備工具 Live.js

Livejs
在不久之前介紹一篇:

LiveReload 網頁程式設計師必備工具,該篇適合用在寫後端+前端的開發者,對於剛開始摸網頁的初學者可能不是很容易就上手,加上在 Windows 或 Linux 上面需要一點安裝步驟。不久之前在 IRC 頻道 #codeigniter.tw 有網友熱心提供一套好用工具 Live.js,這一套幫助您開發前端設計的部份,也就是 Javascript Html 跟 CSS,一樣讓您不用在切換視窗 Alt+TAB,只要您任何時間修改了 HTML + CSS + Javascript,視窗就會自動重新 reload,底下整理該工具特性

  • 只有支援 Html JavaScript CSS 三種格式
  • 只有支援網站 Local 檔案,也就是必須是同網域
  • 並不支援 File:// 協定,換句話說必須有 Web Server (Apache or Lighttpd or Nginx)
[Read More]

HTML5 placeholder attribute 在 IE 上顯示

程式設計師在網頁表單上通常會設計很多提示的功能,而在 Html5 提供了 placeholder attribute 這功能,目前 FireFox Safari Google Chrome 都沒有顯示上的問題,唯獨 IE8(含以下)都沒辦法顯示這功能,所以必須透過 javascript 來解決這部份問題了,網路上找到這篇解決方式,底下是原始碼 解決原理其實很簡單,那就先將 placeholder 寫入到 input value 裡面,在 focus event 當下比對 input value 是否等於 placeholder 的值,如果是就清空,反之透過 onblur event 來寫回原先的 placeholder 值,缺點就是如果當 input type = password 的時候會很麻煩。底下提供轉成 CoffeeScript 的程式碼: add_placeholder = (id, placeholder) -> el = document.getElementById(id) el.placeholder = placeholder el.onfocus = () -> if(this.value == this.placeholder) this.value = '' el.style.cssText = '' el.onblur = () -> if(this.value.length == 0) this. [Read More]