« オリンピック | メイン | エアコン »

2006年08月22日

BLOG THIS!スクリプト

MovableTypeの画像アップロードのインターフェースが、しょぼい。1枚1枚、「ファイルを参照」してアップロードする必要があるうえに、サムネールを作るかどうかなど、毎回指定しないといけない。こういうGUIは、見慣れないシステムで1度きりしかやらない作業には最適だけど、繰り返し繰り返しやるような作業には向かない。

なので、スクリプトを書いて画像ビューアーから呼び出せるようにした。

GImageViewで画像を閲覧しているときに、適当にファイルを1つ、または複数選択して右クリック。メニューの外部プログラムで開くから、自分で追加した「BLOG THIS!」というメニューを選ぶ。 blogthis1.png

すると、次のスクリプトが呼ばれて、800×600ドットの縮小した画像と、320×240ドットのさらに縮小したサムネール表示用の画像を作成して、しかるべきサーバーのディレクトリに、それらをftpしてくれる。このとき、画像ファイル名を埋め込んだHTMLタグを、指定ファイルに吐き出す。Emacsの中から、「M-x insert-tags」とやれば、そのタグが展開される。

●~/bin/blogthis.sh

#!/bin/bash

rm ~/Desktop/tmp-img/*
cp $@ ~/Desktop/tmp-img/
cd ~/Desktop/tmp-img/

for i in `ls *jpg`
  do
  convert -geometry 320x240 $i ~/Desktop/tmp-img/thumb-$i
  mogrify -geometry 800x600 $i ~/Desktop/tmp-img/$i

echo "<p><table cellpadding=0 cellspacing=0 border=0 valign=top>
  <caption align=bottom>hoge hoge</caption>
  <tr>
  <td>
  <a href=\"http://d-code.org/blog/archives/$i\"><img src=\"http://d-code.org/blog/archives/thumb-$i\"></a>
  </td>
  </tr>
</table></p>" >>~/Desktop/tmp-img/tags.txt
done

lftp <<END
open [your.ftpsite.org]
user [username] [password]
cd /home/d-code2/www/blog/archives
mput *jpg
quit
END

rm *jpg

●.emacsに追加

;; 画像のタグファイルを入れる

(defun insert-tags ()
  (interactive)
  (insert-file "/home/ken/Desktop/tmp-img/tags.txt"))

こうやって単純作業を自動化するためのツールや方策が、自然な形で豊富に用意されている。それがUnix的な土壌の魅力だと思う。

投稿者 ken : 2006年08月22日 11:00

コメント