[地球流体電脳倶楽部] [dcmodel | dcmodel-tools] [dcmodel-thum.rb]

dcmodel-thum : 実験結果サムネイル簡易作成スクリプト

概要・利用・動作環境の概説

dcmodel-thum.rb の rdoc マニュアル

Overview と Operation Environment と Usage をさらっと読んだら戻ってきてね。

なお、以下の URL にはこの出力結果と同等のものが置いてあるはずです。

dcmodel-thum.rb の サンプル

バージョン 1.1 (オリジナルやまだ由ツール) からの仕様変更

ここは、バージョン 1.2 以降から利用している人には不要です。 バージョン 1.1 のオリジナルのやまだ由ツールから利用している 方は、以下の変更点にご注意ください。

利用の手引き

dcmodel-thum.rb の入手の方法

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 の入手の方法 で取得した 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 を使いたい人のために

中には、「RD *1 で書きたい!! HTML でなんか書きたくない!!」という わがままは方もいるかもしれません。(これを書いている私が正にそうです。 そのためにこのツールを改良したと言っても過言ではありません…)。

そういう方は、メッセージの設定の際に、頭に 「=begin」、一番最後に 「=end」と記述してください。

thumb.message   << <<-MSG
=begin
= 実験結果

以下は実験結果を一覧したものである

== 実験設定

* 解像度       : T42L20
* 時間ステップ : 30 s
                        :
                        : 
=end
MSG

すると、この情報を rdtool で HTML 化したものをサムネイルのファイルに 埋め込みます。

RT を使いたい人のために (未実装)

注意: この機能はまだバージョン $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 ファイル生成のコントロール

デフォルトではサムネイルファイルの作成と同時に 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" を書き込むことで、文字列は RD として解釈され、 rdtool で HTML に変換されます。

fig1.png:m,rd:{
((<りんく|URL:./>)) はこんな感じで書けるよ。
* リストも
  * 簡単
}

RT を使いたい人のために (未実装)

注意: この機能はまだバージョン $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 SiteRD事始め を参照してください。
*2 RT を参照してください。


arare-odaka1998-dx200-20050917-Kh-t0.png



arare-odaka1998-dx200-20050917-Kh-t14400.png



arare-odaka1998-dx200-20050917-Kh-t21600.png



arare-odaka1998-dx200-20050917-Kh-t28800.png



arare-odaka1998-dx200-20050917-Kh-t36000.png



arare-odaka1998-dx200-20050917-Kh-t43200.png



arare-odaka1998-dx200-20050917-Kh-t7200.png



arare-odaka1998-dx200-20050917-KineticEnergy.png



arare-odaka1998-dx200-20050917-Km-t0.png



arare-odaka1998-dx200-20050917-Km-t14400.png



arare-odaka1998-dx200-20050917-Km-t21600.png



arare-odaka1998-dx200-20050917-Km-t28800.png



arare-odaka1998-dx200-20050917-Km-t36000.png



arare-odaka1998-dx200-20050917-Km-t43200.png



arare-odaka1998-dx200-20050917-Km-t7200.png



arare-odaka1998-dx200-20050917-Mass.png



arare-odaka1998-dx200-20050917-PotTemp-t0.png



arare-odaka1998-dx200-20050917-PotTemp-t14400.png



arare-odaka1998-dx200-20050917-PotTemp-t21600.png



arare-odaka1998-dx200-20050917-PotTemp-t28800.png



arare-odaka1998-dx200-20050917-PotTemp-t36000.png



arare-odaka1998-dx200-20050917-PotTemp-t43200.png



arare-odaka1998-dx200-20050917-PotTemp-t7200.png



arare-odaka1998-dx200-20050917-PotTempProf.png



arare-odaka1998-dx200-20050917-PotTempTend.png



arare-odaka1998-dx200-20050917-PotTempTotal-t0.png



arare-odaka1998-dx200-20050917-PotentialEnergy.png



arare-odaka1998-dx200-20050917-VelX-t0.png



arare-odaka1998-dx200-20050917-VelX-t14400.png



arare-odaka1998-dx200-20050917-VelX-t21600.png



arare-odaka1998-dx200-20050917-VelX-t28800.png



arare-odaka1998-dx200-20050917-VelX-t36000.png



arare-odaka1998-dx200-20050917-VelX-t43200.png



arare-odaka1998-dx200-20050917-VelX-t7200.png



arare-odaka1998-dx200-20050917-VelZ-t0.png



arare-odaka1998-dx200-20050917-VelZ-t14400.png



arare-odaka1998-dx200-20050917-VelZ-t21600.png



arare-odaka1998-dx200-20050917-VelZ-t28800.png



arare-odaka1998-dx200-20050917-VelZ-t36000.png



arare-odaka1998-dx200-20050917-VelZ-t43200.png



arare-odaka1998-dx200-20050917-VelZ-t7200.png


 

This page is generated by thum/dcmodel-thum-make.rb and thum/sample_thum.txt (2005/09/21 15:38:26 kitamo)
dcmodel-thum.rb [Script | Doc | Sample] is provided by dcmodel project in GFD Dennou Club
Copyright © GFD Dennou Club 2005