Aug
Aug
Aug
目前採用的 browntype 是有加上 sIFR 的功能,利用 flash 讓標題更為明顯。
只是 sIFR 在中文上有先天的不方便,不容易包出小的字形檔。這類架構主要是利用 sifr.js 來操作 tradegothic.swf 這類字形檔。
sIFR FontsMack 可以找到部分新字型。
$ cd themes/browntype/images/ $ wget http://www.fontsmack.com/fonts/agent_orange/AGENT_ORANGE_fulllatin.swf $ mv tradegothic.swf tradegothic.swf.bak $ cp AGENT_ORANGE_fulllatin.swf tradegothic.swf $ mv tradegothic.swf.bak tradegothic.swf
最後還是改回來,一是風格不合,一是這個 swf 會被 browser 暫存住,最好的方式應該是放到 theme 中。
Aug
安裝在共用環境的一些經驗與紀錄。
1. 共用 gem/ruby 環境會產生版本不同的議題,這裡採用 typo@Dreamhost 作法,將 ruby/gem 安裝到個人目錄 $HOME 下。
2. 新的安裝雖然提供 typo install,但是一來文件不多,不知要改哪些設定檔,索性直接裝上去。預設裝的 sqlite 的版本,裝完會自行啟動,需要手動關掉。
$gem install typo --include-dependencies $gem list | grep typo typo (4.0.2) $ typo install /path/blog.extremepattern.com
3. 安裝後沒看到 .htaccess SVN 來源複製該檔案,沒有這個檔,共用環境的 Apache 會直接秀出檔案列表,而不是交給 dispatch.fcgi 處理。另外注意
另一個常見導致 500 error 狀態的問題需要修改 dispatch.fcgi 檔。
#!/usr/bin/env ruby
#
require File.dirname(__FILE__) + "/../config/environment"
require 'fcgi_handler'
class RailsFCGIHandler
private
def frao_handler(signal)
dispatcher_log :info, "asked to terminate immediately"
dispatcher_log :info, "frao handler working its magic!"
restart_handler(signal)
end
alias_method :exit_now_handler, :frao_handler
end
RailsFCGIHandler.process!
Update 0817
刪除該段 500 error 碼,觀察看看。
4. 登入 mysql 設定預設編碼。ALTER DATABASE DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;5. 修改 database.yml 加入 encoding
login: &login adapter: mysql host: mysql.xxxx.com username: foo password: 1234 encoding: utf8 ......
6. 修改 environment.rb 啟動產品狀態。
ENV['RAILS_ENV'] = 'production'
7. 設定資料庫表格結構。
rake migrate RAILS_ENV=production
8. 確認 UTF8 是用另一種軟體確認,用 phpMyAdmin 來確認編碼正確。
[UPDATE] 用一天之後發生奇怪的亂碼行為,用 phpMyAdmin 檢視沒有問題,代表非 MySQL 端問題,似乎是變成共用 ruby 環境導致,登入檢視 ps aux 發現只有 /usr/bin/ruby1.8 dispatch.fcgi 運行,而非 ruby dispatch.fcgi,最後將所有程序刪除後才恢復正常的 ruby dispatch.fcgi 出現。
出現亂碼時可以新增一筆資料進資料庫,秀出來居然也是正常,只是進 phpMyAdmin (UTF8) 看該筆資料卻是亂碼,可見 Coon. 的 encoding 當時應該是 latin1 如下情形。
Server characterset: latin1 Db characterset: utf8 Client characterset: latin1 Conn. characterset: latin1 TCP port: 3306