Exception Diary
2006.05.01 [Mon]
_ この日記は…
とりあえず、tDiary Image Galleryのサンプル・ページとして設置。その他、気の向くままにいろんなことを書く…かもしれない。
_ さくらのレンタルサーバへのImage Galleryインストールメモ
まずはディスク容量300MB、1,500円/年のライトコースを申し込む。登録確認メールの指定に従って、会員用のページを開くと、CGIの設置メニューの中にtDiaryを発見する。これを使ってあっけなくインストールが完了した。tDiaryのバージョンは安定版の2.0.2のようだ。絵日記プラグインはimage.rbのみで、いつも使っているimage_ex.rbプラグインがない。で、2.1.4のimage_ex.rbを持ってくる。
image_ex.rbの自動サムネイル作成が使えないか調べてみたところ、サーバにはImageMagickがインストールしてあって、convertコマンドは/usr/local/bin/にあるようだ。tdiary.confに「@options['image_ex.convertpath'] ="/usr/local/bin/convert"」として、無事、image_ex.rbがサムネイルを作ってくれるようになった。
Image Galleryはドキュメント通りのインストール。exifparserはこちらからtar ballを持ってきて展開し、exifparser-0.0.4/lib/exifparser/tag.rbにRuby 1.8対応のパッチをまず当てる。次に、exifparser-0.0.4/lib/以下のファイルを全部、tDiaryのindex.rbと同じディレクトリに丸ごとコピーすればOK。image-gallery.rbで画像一覧の表示ができるようになった。
2006.05.20 [Sat]
_ Image-Gallery用プラグイン
この日記のサイドバーに「今月の画像」というリンクがあるのにお気づきだろうか。これは、実はプラグインで表示させている。コードはこんな感じ。
def gallerylink() date = (@mode == "latest") ? Time.now : @date year = date.year month = date.month months = (month < 10) ? "0" + month.to_s : month.to_s if year == Time.now.year && month == Time.now.month message = "今月の画像" else message = "この月の画像" end pagetitle = CGI::escape("@year年@month月の画像") %Q[<a href="./image-gallery.rb?name=#{year.to_s}#{months};showinputfield=false; order=desc;pagetitle=#{pagetitle}">#{message}</a>\n] end
image-gallery.rbのパラメータ'name'はファイル名に対するフィルタで、ここに正規表現を指定すると、マッチしたファイル名の画像だけを選んで表示するようになっている。image.rbで貼り付けた画像は、yyyymmdd_x.[拡張子]というファイル名になるから、例えば今月の画像だけを表示したければ"name=200605"とすればよい。
上のプラグインはこの仕組みを使っていて、"最新"の日記を表示しているなら「今月の画像」、過去の日記なら「この月の画像」を選んで表示するための'name'パラメータを生成して、image-gallery.rbへのリンクを作っている。
image-gallery.rbのパラメータには、これ以外にも、'subtitle'(画像を貼った日記のサブタイトルに働くフィルタ)、'title'(画像のタイトルに働くフィルタ)の二つをフィルタとして指定することができる。ちょっとした写真集を作るのに便利に使えると思う。
_ n-kashi [テスト]
_ n-kashi [テスト]