[地球流体電脳倶楽部] [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
です。
他の形式の画像を認識させたい場合は スクリプトの編集 (入門編)
を参照してください。とりあえず、
まずは 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/arch/dcmodel>)) | : :
次に、作成される HTML ファイルの名前を希望のものに変更してください。 下記のように infofile を設定しておくと「情報ファイル」(後述) の 名前も一緒に変更されて便利です。
thumb.index = "../result" thumb.infofile = "#{File.basename(thumb.index)}.txt"
画像として認識したい拡張子を増やしたい場合は以下のようにしてください。
thumb.ext_list.push("bmp")
画像ファイル名が長く、ファイル名の頭の部分を取り除いて表示したい、 またはファイル名の頭で出力するファイルの選択を行いたい場合は 以下のように設定してください。
thumb.headlimit = "exp_name_"
画像の縦横サイズや、サムネイルで横に表示する画像の数は以下のように 設定してください。
thumb.img_width = 200 thumb.img_height = 150 thumb.figtable_num = 3
スタイルシートに書き込む設定を単体でも指定可能です。 例えば、リンクに関する動作を設定するには以下のようにします。
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
再度 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.14 $ : $Date: 2005/05/25 15:54:32 $ では組み込まれていません。
他にも、「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/arch/cc-env/mksigen/desc.htm> を 作成しますが、不要である場合は mksigen を false にしてください。
thumb.mksigen = false
生成するサムネイルをロボット検索して欲しくない場合には norobots を true にしてください。
thumb.norobots = true
「情報ファイル」の編集 (入門編) の応用版です。
<修飾子>に ">" を書き込むと右寄せに、"<" を書き込むと左寄せになります。
fig1.png:>: 右寄せだよ fig2.gif:<: 左寄せだよ fig3.jpg:: デフォルトは真ん中寄せだよ
<修飾子>に "m" を書き込むことで複数行入力が可能です。 なお、上記の 右寄せ・左寄せ と併用する場合にはカンマ "," で 区切ります。内容自体は "{" と "}" でくくります。
fig1.png:m:{ <p> 複数行入力を行うよ。 こういうことできるよ。 便利だねー。テーブルも書きやすいね。 </p> } fig2.gif:>,m:{ <ul> <li> 併用するにはこうするよ。 </ul> }
<修飾子>に "rd" を書き込むことで、文字列は RD として解釈され、 rdtool で HTML に変換されます。
fig1.png:m,rd:{ ((<りんく|URL:./>)) はこんな感じで書けるよ。 * リストも * 簡単 }
注意: この機能はまだバージョン $Revision: 1.14 $ : $Date: 2005/05/25 15:54:32 $ では組み込まれていません。
<修飾子>に "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> }
*1
RD (Ruby Documents) や rdtool に関しては、
Just Another RD Site
や
RD事始め
を参照してください。
*2
RT
を参照してください。