RequireJS 搭配 CKEditor

requirejs-logo
網頁編輯器大家推薦的就 CKEditorTinyMCE,兩套各有優缺點,CKEditor 雖然功能最完整,也是最肥了,雖然官網可以自己挑選 plugin 來簡化肥肥的 source code。如果是單純用在後台管理,我還是推薦 CKEditor,給前端使用者的話,就推薦 TinyMCE 了,畢竟前台還是要以輕量為主。 Continue reading “RequireJS 搭配 CKEditor”

CodeIgniter REST Server with Backbone.js Issue

CodeIgniter
如果有在用 CodeIgniter 來當作 REST Server 的朋友們,我相信都會找到 philsturgeon 所寫的 codeigniter-restserver,此套件幫你完成底層 API Response 動作,讓你可以輕易處理 REST URL。但是如果拿這套程式碼來搭配 Backbone.js 你會遇到拿不到 POST 或 PUT 變數問題,作者來一一描述。 Continue reading “CodeIgniter REST Server with Backbone.js Issue”

CSS Clear Fix 小技巧

記的之前 evenwu 為了找尋外包 CSS 人才,出了一份考題,有提供上機考,真是佛心來的,還給用 Inspector 或上網。其中一題就是

第二題、如果一個X元素內的子元素通通 float: left 請問X元素本身會有什麼狀況?如果我要在X元素內下背景,卻沒有顯示,請問如何解決?

解決方式就是實作本身 clearfix,或者是在元素後加上 clear: both 的標籤,大概就是底下的樣子

如果是要在 container 實作 clearfix,就必須透過 css beforeafter

.clearfix {
  *zoom: 1;
}
.clearfix:before, .clearfix:after {
  content: "";
  display: table;
  line-height: 0;
}
.clearfix:after {
  clear: both;
}

SASS 版本

.clearfix {
  *zoom: 1;
  &:before,
  &:after {
    display: table;
    content: "";
    line-height: 0;
  }
  &:after {
    clear: both;
  }
}

這樣只要在任何 element 加上 clearfix css 就可以了,支援瀏覽器版版: Firefox 3.5+, Safari 4+, Chrome, Opera 9+, IE 6+

Nginx 搭配 Laravel PHP Framework 設定

Laravel PHP Framework
筆記在 Nginx 設定 Laravel 專案,現在的 PHP Framework 都將 query string 整個導向首頁 index.php,就拿 CodeIgniter 來說,在 Apache 只要設定
RewriteEngine on
RewriteBase /
RewriteCond $1 !^(index\.php|images|robots\.txt|$)
RewriteRule ^(.*)$ index.php/$1 [L,QSA]
在 Nginx 內只要透過 try_files 即可
location / {
    try_files $uri $uri/ /index.php
}
正常來說 Laravel 直接用上面的設定即可,但是我發現在 $_GET 這全域變數會拿到空值,解法也很簡單,在 Nginx 將 query string 變數帶到 index.php 後面即可
location / {
    try_files $uri $uri/ /index.php?$query_string;
}

Postfix mailbox 設定

Postfix_logo 此篇不會講太多 Postfix 的設定,只是紀錄如何設定 Postfix mailbox。Postfix 提供兩種 E-mail 儲存格式,一種就是將全部的 mail 都寫到同一個檔案,此方式是 Postfix 裝好後預設的模式,另外的就是一封 E-mail 一個檔案,這兩者各有優缺點好壞,前者最大的問題就在於如果該檔案壞掉,那使用者的全部 Email 就消失了,所以個人比較偏好後面方式,最主要最近裝按要實做 E-mail Queue 功能,後者才能讓程式好判斷該目錄是否有異動。

Mailbox

如果都不修改任何設定預設裝好 Postfix,就可以看到 /var/spool/mail/ 目錄下有許多使用者檔案,一個使用者一個檔案,當然你也可以將使檔案設定在家目錄裡面。打開 /etc/postfix/main.cf 設定檔,並加入底下設定
home_mailbox = Mailbox
此設定會將原本放在 /var/spool/mail/ 目錄下的檔案都換成 /home/appleboy/Mailbox,注意在 bashrc 請加入
$ export MAIL=~/Mailbox

Maildir

如果改成此設定,就會變成一個檔案代表一封 email,請在 /etc/postfix/main.cf 加入底下設定
home_mailbox = Maildir/
接著取消 MAIL 變數
$ unset MAIL
最後寫入新的變數內容
$ export MAILDIR=~/Maildir
重新啟動 postfix
$ /etc/init.d/postfix restart
寄封信測試看看目錄是否有建立:
$ echo "This is the message body" | mail -s "This is the subject" root@localhost
這時你會發現在自己的 Home 目錄底下多出了 Maildir/tmp, Maildir/cur, Maildir/new 等三個目錄,代表設定成功了