更新前 | 更新後 |
display | ul_display |
d_left | ul_dleft |
d_right | ul_dright |
tlink | ul_tlink |
tDiary 1.5.4かそれ以降のバージョンが動いている必要があります.
image.rbまたはimage_ex.rbをすでに利用している場合,それらを削除して移行する必要があります.
upload.rb : | |
image2upload.rb : |
すでにtDiaryは動いているものとして説明します.以下の説明では,tDiaryのインストール先が/home/xxx/public_html/tdiaryであると仮定します.
1. プラグインのインストール
upload.rbを/home/xxx/public_html/tdiary/pluginにコピーします.image*プラグインからの移行の場合は,まずそれらのファイルを削除し,image2upload.rbもあわせて/home/xxx/public_html/tdiary/pluginにコピーしてください.
2. オプションの設定
もし必要であればtdiary.confを編集し,オプションを設定します.設定可能なオプションとその意味は以下のとおりです.
@options['upload.dir'] = './images/' @options['upload.url'] = './images/' @options['upload.maxnum'] = 10 @options['upload.maxsize'] = 1000000
※ image*プラグインからの移行について基本的にはtdiary.confで設定しているimage.*をupload.*に書き直せば移行は完了です.ただし,ファイルの保存先を指定していない場合は,upload.dirとupload.urlオプションを設定してください.ファイルの移動や,過去の日記の書き直し等を行う必要はありません.
3. ファイルの保存先の作成
設定が終わったら,ファイルの保存先となるディレクトリ(フォルダ)を作成します.Webサーバの権限で書き込みが行えるようなパーミッション(属性)になっている必要があります.
作成するディレクトリの名前は,標準では「files」ですので,/home/xxx/public_html/tdiary/filesを作成します.もし,upload.dirオプションで別の名前を指定した場合は,その名前のディレクトリを作成してください.
※ パーミッションの設定の仕方がわからない場合は,Webサーバの管理者に「Webサーバの権限で書き込みが行えるようなパーミッション(属性)に設定する必要があると書いてあったんですが,どうすればよいのでしょうか?」と聞いてください.Webサーバの設定やポリシーに依存する話ですので,一概にこうだとは書けないのです.
◆ ファイルのアップロード
編集用のページを開いた時,その日付で一つもファイルがアップロードされていないと,編集画面の下の方に次のようなシンプルなフォームが表示されます.
「ファイル指定」右のテキスト入力エリアにファイル名を直接入力するか,[参照...]ボタンを使ってファイルを選択した後,[ファイルの追加]ボタンをクリックすると,ファイルがサーバにコピーされます.
※ 画像ファイルはサーバにコピーされる時点で管理用の別の名前に変更されますので,アップロードするファイルの元の名前は何でもかまいません.一方で,画像ではないファイル(拡張子がjpg,jpeg,gifおよびpng以外のファイル)は元の名前でサーバ上に保存されます.この場合,日本語のファイル名はトラブルの元ですので使えないようになっています.
※ 画像ではない同名のファイルを複数アップロードすると元のファイルは最後にアップロードしたファイルで上書きされます.ファイルを削除すると,その名前のファイルはサーバ上から抹消され,過去の記述が「リンク切れ」になります(エラーにはなりません).これは「今の私が一番偉い」と名付けられたルールに則った,正しい仕様です.ファイルがアップロードされると,次のようにファイルの一覧や,ファイル操作のためのフォームが表示されるようになります.
「ファイルの一覧」では,アップロードしたファイルのうち,画像ファイルだけがまず横一列に並べて表示されます.このときリンク用の画像が登録されていると,左の鉄塔の画像のように,アップロードした画像の左肩にリンク用の画像が小さく表示されます(登録方法は後述).登録されていなければ,アップロードした画像だけが表示されます.各画像の下にはチェックボックスと画像の識別番号,そして[本文に追加]というボタンが付きます.さらにその下に,画像以外のファイルの一覧が横一列に並べて表示されます.ここには,各ファイル毎に登録されたリンク用画像(もしあれば),アップロードされたファイル名,チェックボックス・識別番号・[本文に追加]ボタンが表示されます.
◆ ファイルの操作
アップロードしたファイルの操作は,
◆ 本文への記入
百聞は一見に如かずといいますので,まず実際の本文での記述とそのプレビューを示します.
アップロードしたファイルを本文で表示するためのもっとも簡単な方法は,「ファイルの一覧」内に表示されている[本文に追加]ボタンをクリックすることです.このボタンをクリックすると,画像ファイルの場合は
<%=ul_display 0, '画像の説明'%>
画像以外のファイルの場合は
<%=ul_display 1%>
といった記述が本文の末尾に追加されます.ほとんどの場合はこれで十分だと思います.
- ul_displayメソッド
ul_displayを使うと,引数で指定したファイルが画像ファイルであるかどうか,またリンク用の画像が登録されているかどうかを自動判定し,画像の表示あるいはリンクの生成を自動的に行ってくれます.
基本的なul_displayメソッドの引数は2つです.
<%=ul_display 【識別番号】, 【代替テキスト】%>
第1引数の【識別番号】は必須の項目で,ファイルの一覧に表示される「0」「1」といった識別番号を書きます.第2引数の【代替テキスト】を省略すると,画像ファイルの場合は'image',それ以外のファイルの場合はアップロードしたファイル名を指定した事になります.画像ファイルのときは<img>タグのalt属性(表示される画像ファイルにマウスカーソルを合わせたときに表示されるテキスト.障害者用のアプリケーションではこの文字を読み上げて画像の説明とする)となりますので,必ず適切な文字列に修正してください.また,第2引数はシングルクォートで囲むのを忘れないようにしてください.
※ 画像以外のファイルにおける第2引数
画像ではないファイルに対して第2引数を指定すると,その意味はリンク用の画像が登録されているかどうかで変化します.ややこしいですね.リンクとして表示する文字列の変更はこのあと説明するul_tlinkを使えば可能ですので,こちらの方法を覚える必要はありません.
- リンク用の画像が登録されている場合
- 表示されるリンク用の画像の代替テキストになります
- リンク用の画像が登録されていない場合
- ファイル名の代わりに,この引数で指定した文字列がリンクとして表示されるテキストになります.
- ul_dleft, ul_drightメソッド
上で説明したul_displayメソッドは,書いた位置に画像が表示されます.これに対してul_dleftやul_drightメソッドでは画像の水平方向の表示位置を指定することができます.
<%=ul_dleft 【識別番号】, 【代替テキスト】%> または <%=ul_dright 【識別番号】, 【代替テキスト】%>
引数の意味はul_displayとまったく同じですのでここでは説明しません.ul_dleftを使うと,画像が左寄せされ,文字が回りこみます.ul_drightを使うと右寄せになります.このページの「ファイルの一覧」の説明で使っている画面がul_drightを使った例になっています.
- ul_tlinkメソッド
アップロードした画像を日記に直接表示させるのではなく,文字列を使ったリンクを張りたい,あるいはリンク用の画像ファイルが登録されているファイルに対して,(ちょうどこのページのように)本文の中で文字列を使ったリンクを張りたい.といった目的を達成するために用意されているメソッドがul_tlinkです.
<%=ul_tlink 【識別番号】, 【文字列】%>
このメソッドは,【文字列】で指定した文字列を表示して【識別番号】番のファイルへのリンクとします.【文字列】が省略された場合の値は,ul_displayの【代替テキスト】と同じになります.省略記法はリンク用の画像を登録しているが,テキストでリンクを作りたいときに便利です.例えば,このページの概要に表示されている「upload.rb」や「image2upload.rb」というリンクは,
<%=ul_tlink 3%>
などのように記述するだけです.省略記法のもう一つのメリットは,アップロードしたファイル名を上書きしたときに,リンクとして表示されるテキストも自動的に新しい名前に置き換わることです.これをうまく使うと,公開するファイルをバージョンアップするたびに,あちこちに散らばったアンカーテキストを書き換えてまわる必要が無くなります.
このように,Flashで作成したムービー等を日記に貼り付ける方法を紹介します.
まず公開に不可欠なFlashのファイルを準備してください.細かい方法については省略しますが,作成したムービーをパブリッシュして,htmlファイルとswfファイルの2つをあらかじめ生成しておきます.
<%=ul_tlink 0, 'ムービー'%>と記述すれば,
ムービーと言った具合にリンクが表示され,リンクをクリックすればムービーが再生されます.試しに上のリンクをクリックしてみてください.
<HTML>
<HEAD>
<TITLE>cuberoll</TITLE>
</HEAD>
<BODY bgcolor="#FFFFFF">
<!-- URL's used in the movie-->
<!-- text used in the movie-->
<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0"
WIDTH=550 HEIGHT=400>
<PARAM NAME=movie VALUE="cuberoll.swf">
<PARAM NAME=quality VALUE=high>
<PARAM NAME=bgcolor VALUE=#FFFFFF>
<EMBED src="cuberoll.swf" quality=high bgcolor=#FFFFFF WIDTH=550 HEIGHT=400 TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"></EMBED>
</OBJECT>
</BODY>
</HTML>
といった感じのソースが表示されると思います.本文内にムービーを表示させたい場合,上のソースで背景が水色の部分,すなわち<OBJECT ... </OBJECT>の範囲を本文にコピーします.そうして本文にコピーしたら,赤字の部分(実際にはアップロードしたswfファイルのファイル名になっているはずです)にアップロードするファイルを保存するフォルダ(ディレクトリ)名を書き足します.標準では「files」ですので,
cuberoll.swf → files/cuberoll.swfといった具合です.書き換えるべき場所は,上に示したように,少なくとも2箇所ありますので注意してください.また,OBJECTタグおよびEMBEDタグ内のWIDTHやHEIGHTの値を変更すると,ムービーの大きさを調整できるようです.実際に本文内に記述する内容は,次のようになります.
<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0" WIDTH=550 HEIGHT=400> <PARAM NAME=movie VALUE="files/cuberoll.swf"> <PARAM NAME=quality VALUE=high> <PARAM NAME=bgcolor VALUE=#FFFFFF> <EMBED src="files/cuberoll.swf" quality=high bgcolor=#FFFFFF WIDTH=550 HEIGHT=400 TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"></EMBED> </OBJECT>これでプレビューしたときに,最初に示したようにムービーが表示されれば成功です.表示されない場合,ディレクトリ名が間違っていないか確かめてみてください.
バグ報告やご意見・ご感想等は下のコメント欄もしくはhs@on-sky.net宛てのメールでお願いします.