現在の最新バージョンは、Version 2.0.5 : 2014/9/28 です。
Version 2.0.0 から、tDiary Image Gallery の一部として、tDiary contribパッケージに含めてリリースすることにしました。("util/image-gallery/misc/plugin/recent_image.rb")
こちらからどうぞ。→tDiary contribパッケージ
※下記の「使い方の例」に、これらの機能を組み合わせたいろいろな使い方を説明してありますのでご覧ください。
tdiary.conf への設定項目はありません。
<tDiaryのディレクトリ>/misc/plugin に、ダウンロードした recent_image.rb をコピーして下さい。設定→プラグイン選択、で使用可能になります。
recent_image(items, width, link_mode, name_filter, title_filter, reverse, random) パラメータ(カッコ[]内は未指定時の値) items: 表示する画像の数 [4] 0 : 制限なし(すべての画像を表示) width: 表示画像のpixel幅 [80] link_mode: 表示画像のリンク先 [1] 0 : この画像を表示するImage-GalleryのViewerモード 1 : この画像を含む日付の日記本文 2 : アップロードした画像ファイル 3 : アップロードした画像ファイルを別ウィンドウを開いて表示 ウィンドウのサイズを指定する場合、[3, width, height]と、 配列で指定する。 ex) [3, 640, 480] ... 640*480のウィンドウに表示する name_filter: 表示対象とする画像のファイル名(正規表現) この正規表現にマッチする文字列を、ファイル名に含むものだけ が表示対象となる。 [nil: すべての画像を表示対象とする] title_filter: 表示対象とする画像の本文中タイトル(正規表現) この正規表現にマッチする文字列を、タイトルに含むものだけが 表示対象となる。 [nil: すべての画像を表示対象とする] reverse: 画像を古いものから表示したい場合「true」を指定する。[false] random: 画像をランダムに選び表示したい場合「true」を指定する。[false] これをtrueにした場合、reverseパラメータは無視される。
※以下の例はtDiaryスタイルでの書式です。
ヘッダやサイドバーなどに、次のように指定するだけで、最近アップロードした画像を4枚、幅80ピクセルで表示します。
<%=recent_image %>
以降、新しい画像をimageプラグインで日記に登録するたび、この画像が自動で入れ替わります。
また、アップロードしたすべての画像からランダムに8枚を選んで表示する場合はrandomオプションをtrueに指定し、以下のようにします。
<%=recent_image 8, 80, 1, nil, nil, false, true %>
ブラウザでページのリロードを行うと、新たに画像が選択され表示が切り替わります。
次のようにすると、アップロードしてあるすべての画像を表示します。
<%=recent_image 0 %>
使っていない過去の日付(1999/1/1など、適当に…)の日記に、上記のように一行書くだけで、アルバムのようなインデックス・ページを作るこ とができます。この場合は、次のようにnameフィルタと組み合わせて年ごとに表示を分け、さらに古い順に表示させるようにすると、より「それらしく」な るでしょう。
2004年 <%=recent_image 0, 80, 1, "2004", nil, true %> <hr> 2005年 <%=recent_image 0, 80, 1, "2005", nil, true %> <hr>
このページにもimageプラグインでの登録があるたびに、新しい画像が追加されてゆきます。
PNGやGIF形式の図などを除き、JPEG形式の写真画像(拡張子が".jpeg"または".jpg"のファイル)だけを表示したい場合は、次のようにします。
<%=recent_image 0, 80, 1, "(jpg|jpeg)" %>
image/image_exプラグインでアップロードしたファイルは、yyyymmdd_nn.xxxというファイル名になります。(yyyy=年, mm=月, dd=日, nn=日付ごとの連番, xxx=拡張子) このことを利用して、以下のような指定ができます。
<%=recent_image 0, 80, 1, "2004" %>
→2004年の画像をすべて表示
<%=recent_image 0, 80, 1, "1225_" %>
→すべての年の12月25日の画像をすべて表示
<%=recent_image 0, 80, 1, "08[0-9]{2}_" %>
→すべての年の8月の画像をすべて表示
<%=recent_image 0, 80, 1, "2005(0429|0430|050[1-5])_[0-9]+\.jpg" %>
→2005年のゴールデンウィーク(4/29〜5/5)中の、JPEG形式の画像をすべて表示
このように、正規表現を使うことによって、いろいろな日付範囲の指定ができます。
タイトルに「太郎」または「次郎」を含む画像をすべて表示する場合は、次のように指定します。
<%=recent_image 0, 80, 1, nil, "(太郎|次郎)" %>
※nameフィルタとtitleフィルタを同時に指定した場合は、両方の条件に当てはまる画像のみが表示対象になります。
count_image(name_filter, title_filter) パラメータ(カッコ[]内は未指定時の値) name_filter: カウント対象とする画像のファイル名(正規表現) この正規表現にマッチする文字列を、ファイル名に含むものだけ をカウント対象とする。 [nil: すべての画像をカウント対象とする] title_filter: カウント対象とする画像の本文中タイトル(正規表現) この正規表現にマッチする文字列を、タイトルに含むものだけを カウント対象とする。 [nil: すべての画像をカウント対象とする]
count_imageプラグインは画像の枚数を表示したい場合に使用します。以下のようにすると、すべての画像とその枚数が表示されます。
<%=recent_image 0 %> total <%=count_image %> files.
view_exifプラグインは、JPEG画像のEXIFデータを表示したい場合に使用します。詳しくは、作者の日記を御覧ください。
Exception Diary「recent_image.rb に EXIF表示機能を追加」
view_exifプラグインを使用するには、exifparserの追加インストールが必要です。インストールの方法については、Image Gallery のページを参照してください。
2005/07/01 | Ver0.1 | ・最初のバージョン |
2005/07/05 | Ver0.2 | ・処理の高速化、reverseパラメータ追加 <公開開始> |
2005/09/02 | Ver0.3 | ・randomオプション追加。link_mode=3(画像を別ウィンドウ表示)オプション追加。 |
・count_imageプラグイン追加。 | ||
・プレビューモード、長年日記で画像が表示されないバグを修正。 | ||
2005/10/23 | Ver1.0 | ・Image-Galleryのためのキャッシュ保持機能追加。 |
・縦長の画像の場合は、widthパラメータで指定された長さを縦サイズに適用するよう変更。 | ||
・imageプラグインで title 指定を""で行った場合にも対応。 | ||
2005/10/28 | Ver1.1 | ・キャッシュ・ファイルを使う設定にした場合、起動時に毎回必ずキャッシュ・ファイルを作成していたバグの修正。orz |
2005/10/30 | Ver1.2 | ・キャッシュ・ファイルを使う設定にした場合、日記を更新しても最新画像が更新されないバグの修正。orz |
2005/10/31 | Ver1.3 | ・image_exのサムネイルに対応できていなかった問題を修正。 |
2005/11/23 | Ver1.4 | ・一部のjpegファイルの扱いで例外が発生してしまう問題を修正。 |
・PNG形式、GIF形式の画像サイズが正しく扱えていなかった問題を修正。 | ||
2008/03/22 | Ver1.7 | ・キャッシュ・ファイルがない場合は、オプションの指定に関わらず必ず作成するようにした。詳しくは、Image Galleryの「インストール」及び「履歴」をご覧になってください。 |
2010/09/30 | Ver2.0 | ・tDiary 3.0.0以降に正式対応。 |
・view_exifプラグインを追加。 | ||
2012/03/10 | Ver2.0.2 | ・Ruby 1.9に対応。(kpさんに感謝!) |
2013/11/30 | Ver2.0.3 | ・tDiary 4.0.2 で新たな日記の画像が一覧に追加されないバグを修正。 |
2014/01/04 | Ver2.0.4 | ・tDiary 4.0.0 以降でキャッシュ・ファイルを新たに生成しようとすると失敗するバグを修正。(Toshiさんに感謝!) |
2014/09/28 | Ver2.0.5 | ・画像のサイズ取得に fastimage を使うようにした。 |
・view_exifプラグインを切り出し、view_exif.rb とした。 |
こちらまでどうぞ。