«前の日記(2006.05.01 [Mon]) 最新 次の日記(2006.05.21 [Sun])» 編集

Exception Diary


2006.05.20 [Sat]

_ Image-Gallery用プラグイン

この日記のサイドバーに「今月の画像」というリンクがあるのにお気づきだろうか。これは、実はプラグインで表示させている。コードはこんな感じ。

gallerylink.rb

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'(画像のタイトルに働くフィルタ)の二つをフィルタとして指定することができる。ちょっとした写真集を作るのに便利に使えると思う。

Tags: tDiary

_ 交流戦@西武ドーム

バックネット裏から

Tags: life PHOTO
[]

2001|01|
2006|04|05|06|07|08|09|10|
2007|06|07|08|09|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|08|09|10|11|12|
2011|01|02|04|06|07|08|
2014|12|
2015|04|

«前の日記(2006.05.01 [Mon]) 最新 次の日記(2006.05.21 [Sun])» 編集