[地球流体電脳倶楽部] [dcmodel | dcmodel-tools] [dcmodel-thum.rb]
Overview と Operation Environment と Usage をさらっと読んだら戻ってきてね。
なお、以下の URL にはこの出力結果と同等のものが置いてあるはずです。
ここは、バージョン 1.2 以降から利用している人には不要です。 バージョン 1.1 のオリジナルのやまだ由ツールから利用している 方は、以下の変更点にご注意ください。
dcmodel-thum.rb スクリプト本体 をダウンロード してください。もしくは cvsroot をもっている www.gfd-dennou.org にログインが 可能であれば、cvs からも直接取得が可能です。
$ CVS_RSH=ssh; export CVS_RSH $ cvs -d :ext:www.gfd-dennou.org:/GFD_Dennou_Club/ftp/arch/dcmodel/cvsroot checkout dcmodel-tools
既に www.gfd-dennou.org にログインした状態であれば、以下のコマンドのみで 取得可能です。
$ cvs -d /GFD_Dennou_Club/ftp/arch/dcmodel/cvsroot checkout dcmodel-tools
サムネイル化しようとする画像を figdir
という
ディレクトリに置いてください。現在、画像として認識されるのは、
gif, png, jpg, jpeg, GIF, PNG, JPG, JPEG
です。アニメーション gif にも一応対応していますが, サムネイル化する
ページ番号は全画像共通にしか設定できません.
他の形式の画像を認識させたい場合は スクリプトの編集 (入門編)
を参照してください。とりあえず、
まずは figdir
を作成して下さい。
dcmodel-thum.rb の入手の方法 で取得した dcmodel-thum.rb は
thum-src
というディレクトリを作ってそこに置いて下さい。
結果的に、以下のような構成になっていると良いです。
./figdir/*****.jpg *****.gif ./thum-src/dcmodel-thum.rb
thum-src
へ移動し、dcmodel-thum.rb を実行してください。
$ cd thum-src $ ruby dcmodel-thum.rb
すると、dcmodel-thum-make.rb という実行スクリプトが作成される はずです。
今度は dcmodel-thum-make.rb を実行します。
$ ruby dcmodel-thum-make.rb
すると、 ../sample_thum.htm
というファイルが作成されます。
これがサムネイルの HTML です。
../sample_thum.htm
をブラウザで見てみてください。
このページと同様のメッセージが書かれたページが出力されている
はずです。
figdir に画像をおいてあった場合、それらが 下にサムネイル化されているはずです。
このままでは使えないので、 dcmodel-thum-make.rb
を編集してください。
まず、ここに記述されるコメントを削除しましょう。
以下の部分以降を全て消してください。
thumb.message << <<-Message =begin [((<地球流体電脳倶楽部|URL:http://www.gfd-dennou.org>))] [((<dcmodel|URL:http://www.gfd-dennou.org/library/dcmodel>)) | : :
次に、作成される HTML ファイルの名前を希望のものに変更してください。 下記のように infofile を設定しておくと「情報ファイル」(後述) の 名前も一緒に変更されて便利です。
thumb.index = "../result" thumb.infofile = "#{File.basename(thumb.index)}.txt"
画像として認識したい拡張子を増やしたい場合は以下のようにしてください。
thumb.ext_list.push("bmp")
画像ファイル名が長く、ファイル名の頭の部分を取り除いて表示したい、 またはファイル名の頭で出力するファイルの選択を行いたい場合は 以下のように設定してください。
thumb.headlimit = "exp_name_"
画像ファイル名を HTML に表示したくない場合は以下のように設定してください。 個別的にファイル名を非表示にしたい場合は 「情報ファイル」の編集 (応用編) の ファイル名非表示 を参照してください。
thumb.blankfig = true
画像の縦横サイズや、サムネイルで横に表示する画像の数は以下のように 設定してください。
thumb.img_width = 200 thumb.img_height = 150 thumb.figtable_num = 3
自動生成されるサムネイル画像の置き場と画像の名前の最後部を 次のように指定して下さい.
thumb.thumbnaildir = "../thumb" # サムネイル画像を置くディレクトリ名 thumb.thumbnailtail = "_thumb.png" # サムネイル画像の拡張子名
アニメーション gif 等複数ページを束ねた画像に対してはサムネイル化する ページ番号を 1 より大きい値に設定できます.
thumb.thumbnailpage = "50" # サムネイル画像化する元画像のページ番号
スタイルシートに書き込む設定を単体でも指定可能です。 例えば、リンクに関する動作を設定するには以下のようにします。
thumb.style = <<-STYLE a:link { color:#269900; } a:visited { color:#269900; } a:hover { color:#99FF33; } STYLE
元々の thumb.title ...
の行を例えば以下のように書き換え、
タイトルを設定してください。(これは HTML の head タグ内の
title タグに設定されます )
thumb.title = "実験結果"
ちょうどこのチュートリアルが作成される場所に書き出す、 メッセージを設定してください。ここに書き込む内容がそのまま HTML として出力されるので、HTML タグも書き込んでください。
注意!! message に代入するときの記号は必ず 「=」 ではなく、「<<」にしてください。
thumb.message << <<-MSG <h1>実験結果</h1> <p> 以下は実験結果を一覧したものである </p> <h2>実験設定</h2> <ul> <li>解像度 : T42L20 <li>時間ステップ : 30 s </ul> : : MSG
サムネイル部分の下にメッセージを記述したい場合は、以下のように 設定しましょう。書き方は上記の message と同様です。
thumb.footer << <<-MSG =begin == 参考資料 * 地球流体電脳倶楽部 dcmodel プロジェクト. ((<URL:http://www.gfd-dennou.org/library/dcmodel>)), 地球流体電脳倶楽部. =end MSG
再度 dcmodel-thum-make.rb を実行します。
$ ruby dcmodel-thum-make.rb
すると、上記の記述が反映された ../sample_thum.htm
が
作成されます。ブラウザで確認してください。
ただし、これだけでは、サムネイル内のコメントを編集できないので、 以下の 「情報ファイル」の編集 (入門編) を参照してください。
dcmodel-thum-make.rb を実行したディレクトリには上記で設定した infofile に対応したファイルが作成されるはずです。
thumb.infofile = "#{File.basename(thumb.index)}.txt"
このファイルを編集することで、サムネイル内にコメントを記述できます。
まず中身を見てみてください。
fig1.png:: fig2.gif:: fig3.jpg:: fig3.png::
これは、以下のようなフォーマットになっています。
<画像名> : <修飾子> : <コメント>
<修飾子> に関しては 「情報ファイル」の編集 (応用編) を参照してください。
サムネイルには「情報ファイル」に書き込まれた順に書き出されます。 入れ替えたい時には行ごとその位置を入れ替えてください。
fig2.gif:: fig3.jpg:: fig3.png:: fig1.png::
コメントをつけたいときには、以下のようにしてください。
fig1.png:: 1 回目の実験 fig2.gif:: 2 回目の実験 fig3.jpg:: 3 回目の実験 (jpg 画像) fig3.png:: 3 回目の実験 (png 画像)
HTML タグはそのまま認識されるので、以下のように書き込むことが 可能です。
fig1.png:: <hr> 1 回目の実験 <br> 失敗 <hr>
コメントアウトしたい場合は行頭に 「#」を書き込みます。
# fig2.gif:: 2 回目の実験
画像ではなく、コメントのみを書き込みたいときは、<画像名> に 「label」と記述します。
label:: <hr><table><tr><td>実験設定 2</td><td>パラメータ 3</td></tr></table>
一つ分飛ばして表示したい時は以下のように <画像名> の部分に何も書かないで 下さい。
::
再度 dcmodel-thum-make.rb を実行します。
$ ruby dcmodel-thum-make.rb
すると、上記の記述が反映された ../sample_thum.htm
が
作成されます。ブラウザで確認してください。
スクリプトの編集 (入門編) の応用版です。
dcmodel-thum.rb の rdoc マニュアル の DCModelThumbnail クラスの Attribute に設定できる全ての値 の情報があるので、詳しくはそちらを参照ください。
電脳サーバ以外での利用を考える場合には、下記の設定も編集する 必要があるかもしれません。
コピーライト
thumb.copyright = "GFD Dennou Club"
スタイルシート
thumb.css = "/GFD_Dennou_Club/ftp/arch/dcmodel/htmltools/dcmodel.css"
rd2 コマンドへのパス (これは、下記で紹介する RD という書法で 書く必要が無ければ、設定の必要はありません)
thumb.rd2_path = "/usr/bin/rd2"
rd2html-ext-lib の設定 (これも、下記で紹介する RD という書法で 書く必要が無ければ、設定の必要はありません)
thumb.rd2htmlextlib = "/GFD_Dennou_Club/ftp/arch/dcmodel/lib"
中には、「RD *1 で書きたい!! HTML でなんか書きたくない!!」という わがままは方もいるかもしれません。(これを書いている私が正にそうです。 そのためにこのツールを改良したと言っても過言ではありません…)。
そういう方は、メッセージの設定の際に、頭に 「=begin」、一番最後に 「=end」と記述してください。
thumb.message << <<-MSG =begin = 実験結果 以下は実験結果を一覧したものである == 実験設定 * 解像度 : T42L20 * 時間ステップ : 30 s : : =end MSG
すると、この情報を rdtool で HTML 化したものをサムネイルのファイルに 埋め込みます。
注意: この機能はまだバージョン $Revision: 1.31 $ : $Date: 2007/05/22 05:13:14 $ では組み込まれていません。
他にも、「RT *2 で書いてみたい!!」という方もいるかもしれません。
そういう方は、メッセージの設定の際に、頭に 「=begin RT」、一番最後に 「=end」と記述してください。
thumb.message << <<-MSG =begin RT caption = 表テスト , 人間, == , 犬 , == || , 男 , 女 ,オス,メス x , 1.0 , 2.0, 1.1, 1.2 y , 0.4 , 0.5, 0.3, 0.1 =end MSG
すると、この情報を rttool で HTML 化したものをサムネイルのファイルに 埋め込みます。
デフォルトではサムネイルファイルの作成と同時に SIGEN ファイル <http://www.gfd-dennou.org/library/cc-env/mksigen/desc.htm> を 作成しますが、不要である場合は mksigen を false にしてください。
thumb.mksigen = false
生成するサムネイルをロボット検索して欲しくない場合には norobots を true にしてください。
thumb.norobots = true
デフォルトでサムネイルを変換するコマンドおよびオプションは 以下の通りです。
convert -depth 8 -geometry
これを変換したい場合には以下のように設定を行ってください。 ただし、空白の場合やシステムに存在しないコマンドが設定されている 場合にはエラーを返します。
thumb.convert_cmd = "mogrify -geometry"
デフォルトでは既に出力先にファイルが存在し、且つ元のファイルよりも 新しい場合、時間の短縮のため、画像ファイルの変換を行いません。 もしも毎回必ずファイルの変換を行いたい場合は以下のように設定してください。
thumb.convert_overwrite = true
「情報ファイル」の編集 (入門編) の応用版です。
<修飾子>に ">" を書き込むと右寄せに、"<" を書き込むと左寄せになります。
fig1.png:>: 右寄せだよ fig2.gif:<: 左寄せだよ fig3.jpg:: デフォルトは真ん中寄せだよ
<修飾子>に "m" を書き込むことで複数行入力が可能です。 なお、上記の 右寄せ・左寄せ と併用する場合にはカンマ "," で 区切ります。内容自体は "{" と "}" でくくります。
fig1.png:m:{ <p> 複数行入力を行うよ。 こういうことできるよ。 便利だねー。テーブルも書きやすいね。 </p> } fig2.gif:>,m:{ <ul> <li> 併用するにはこうするよ。 </ul> }
<修飾子>に "b" を書き込むことでファイル名の表示を抑制します。
fig1.png:b: ファイル名表示が抑制されます
全てのファイル名を一括で抑制する方法は スクリプトの編集 (入門編) を参照してください。(属性 blankfig を true に設定します)。
<修飾子>に "rd" を書き込むことで、文字列は RD として解釈され、 rdtool で HTML に変換されます。RD でページ内リンクを作成する 記法も利用可能で、本文やフッタ、サムネイル内のヘッダにリンクを 貼ることもできます。(例 ヘッダ1、ヘッダ2 )
fig1.png:m,rd:{ ((<りんく|URL:./>)) はこんな感じで書けるよ。 * リストも * 簡単 RD ラベルを使用したページ内リンクは ((<RD を使いたい人のために>)) のように記述すれば OK です。 }
注意: この機能はまだバージョン $Revision: 1.31 $ : $Date: 2007/05/22 05:13:14 $ では組み込まれていません。
<修飾子>に "rt" を書き込むことで、文字列は RT として解釈され、 rttool で HTML に変換されます。
fig1.png:m,rt:{ caption = 表テスト , 人間, == , 犬 , == || , 男 , 女 ,オス,メス x , 1.0 , 2.0, 1.1, 1.2 y , 0.4 , 0.5, 0.3, 0.1 }
スクリプトの編集 (入門編) でタイトルの設定に関して 記述しましたが、「情報ファイル」からの設定も可能です。 <画像名> に title と記述し <コメント> にタイトルを書き込んでください。
title:: 実験設定 其の弐
スクリプトの編集 (入門編) は上書きされます。
スクリプトの編集 (入門編) で本文メッセージの設定に関して 記述しましたが、「情報ファイル」から追加も可能です。 <画像名> に message と記述し、本文メッセージを書き込んでください。
message:m,rd:{ = サンプルだー == 目次です === さらに目次です ((<ほげ|URL:thum/sample_thum.txt>)) } message:m:{ <b>HTML</b> ですが何か問題でも? <ul> <li>ちいさな <li>テーブルを <li>作って <li>みたよ♪ </ul> <hr> }
スクリプトの編集 (入門編) でフッターメッセージの設定に関して 記述しましたが、「情報ファイル」から追加も可能です。 <画像名> に footer と記述し、フッターメッセージを書き込んでください。
footer:m,rd:{ == フッターです 参考文献とか書き込むのに便利かもしれません。 }
*1
RD (Ruby Documents) や rdtool に関しては、
RD事始め
や
RAA - rdtool
を参照してください。
*2
RT
を参照してください。