2004年10月04日 (月)

貼付けたファイルのアイコンを表示しないでリンクを付ける

一般のエントリで、Finder からファイルをドラッグ&ドロップしてファイルを貼付けると、そのファイルのアイコンのイメージとそのファイルへのリンクが並んで表示されます。リンクはともかくとして、アイコンの方は大きなお世話ではないですか? 公開ページではそのアイコンをクリックしても何も起きませんから論理的に意味の無い表示です。しかも、そのアイコンの img タグの alt 属性の値は空っぽですからお作法にも合っていません。このため私はファイルを貼付けるらくちん作業はいいけれど結果が気に入らなくてファイルの張り付けはあまりしてきませんでした。ファイルの配布に Public フォルダーを使っているのも三分の一くらいはこれが理由です。

そこで一般のエントリにファイルを貼付けた上で、その貼付けた部分は表示せずに、自分でリンクを書けないものかと試したらうまくいきました。うまくいったエントリは昨日の「PiyoFeeds に JavaScript モードが追加されました」です。

最近の iBlog には FileSharingEntry という種類のエントリがあるので必要ないと言われればそれまでなのですが、FileSharingEntry とか MusicEntry とかは仕様的に変なところがあるので将来大きく変更になるかもしれないと思って私は使っていません。
# というのは建前で Public フォルダーに置くことが多いから
# 忘れていただけだったりして (^_^;)

新しい iBlog の機能は使っていない方法なので古い iBlog にも通用すると思います。古い iBlog には FileSharingEntry とか MusicEntry というタイプのエントリはありません。


以下、どうやったかを説明します。

手順

  1. HTMLCode 制御タグで XHTML をインラインで書く部分を作る。
    どこでもよいのですが、エントリ本文の一行目でないところに
    <HTMLCode>
    </HTMLCode>
    と書きます。
  2. そこに空っぽのコメントを入れる。
    上で書いたインライン XHTML の部分に空っぽのコメントを入れます。用心してコメントの中にスペースを二つ入れておきましょう。
    <HTMLCode>
    <!--  -->
    </HTMLCode>
  3. コメントの中にファイルをドラッグ&ドロップする。
    先ほど付けたコメントの中の二つのスペースの間にドロップします。コメントの -- とくっつくかないようにです。なんとなくくっつくと悪いことが起きそうな気がします。
  4. 必要な箇所にドロップしたファイルへのリンクを書く。
    ドロップしたファイルは、そのエントリのフォルダーの下の Media フォルダーの中に同じファイル名で置かれます。ですからそのファイルの URL はエントリページからの相対パスで Media/ファイル名 となります。相対パスではなく絶対パスを使いたいときは、一旦プレビューしてそのエントリの CategoryUUI(C12345678のようなフォルダー名) と EntryUUID(E12345678のようなフォルダー名) を調べて、ブログの URL にそれらを付けて書きましょう。

注意

HTMLCode 制御タグも含めてインライン XHTML の部分に「スタイル」がくっついているとうまくいかない場合があります。一旦エディタにコピーしてペーストするとよいでしょう。どううまくいかないかというと、ブラウザで見ると HTMLCode の終了タグが見えてしまったり、インライン XHTML として全く扱われなかったりします。

iBlog のこの張り付け機能を使ってエントリに貼付けたファイルは、ブログページ、カテゴリページ、RSS に表示されるときも URL が補正されます。試していませんが、手で書いたリンクは補正されないかもしれません。iblogPatcher では、「うにょうにょ Read More」で表示される本文の中に相対パスで書かれたリンクがあるとそれを補正してくれます。しかし、これは「うにょうにょ Read More」で表示される部分だけですのでご注意を。

何が嬉しいの?

単にリンクを張りたいだけでしたら FileSharingEntry の方が便利ですし、それが楽曲ファイルでしたら MusicEntry の方がかっこ良いです。

ですが、これらはテンプレートファイル FileSharingEntryPage.txt と MusicEntryPage.txt のカスタマイズ範囲で一定したフォーマットになっています。例えば HTML ファイルを貼付けてしかも iframe タグを使ってインライン表示にすることはできません。普通、そういう凝ったことをするときは予めその HTML ファイルをアップロードしておき、その URL を使って書くことになります。しかしこれでは、そのファイルの位置を変えるとエントリも修正しなければなりませんし、そのエントリが削除されたら逆にアップロードしたファイルも必要なくなり削除しなければなりません。要はエントリと連動したものなのに、仕組みが連動していないのです。

iBlog のファイルの貼付け機能を使って仕組みとして連動させておきながら、表示方法は自由にできるというところがこの技のよいところです。


Posted: 12:03    | Comment | Trackback


以下、類似エントリです。