◀   |   |   ▶
◀   |   |   ▶

iBlog 用タグ打ち支援 AppleScript


 HTML 書きに強い mi などでは実装されている『プルダウンメニューから選択するだけでタグを打てる機能』を iBlog で実現するための AppleScript です。
 おもに、<HTMLCode> を駆使してエントリを書いている人をターゲットにしているのですが、要は定型文を自動ペーストするだけのものですので、それ以外の用途にも転用できます。


こんな人に向いた AppleScript です。
・英文タイプが苦手(私)
・タグ打ちはシフトキーの登場回数が多くて面倒(これも私)
・タグの「決まり事」を憶えきれなくて、必要な要素や終了タグを忘れることがある(まさに私)
たとえば、<HTMLCode></HTMLCode> と打ち込むのだけでも面倒くさいと思う人は、ぜひ作ってみて下さい。
作り方は簡単です。スクリプトエディタで以下のように記述します。
set the clipboard to "
<HTMLCode>
\
</HTMLCode>" as text
\
tell application "iBlog" to activate
tell application "System Events"
key down {command}
keystroke "v"
key up {command}
end tell
(上のリンクをクリックすると、上記のスクリプトが簡単に作れます↑)
上記では、最初の『"(クォーテイションマーク)』の直後に半角スペースと改行を入れています。これは、iBlog がエントリ本文の先頭に <HTMLCode> を置くと認識してくれないからです。また、<HTMLCode> は単独で用いた方がよい、つまり、直後に改行を入れた方がいいため、<HTMLCode> でいったん改行しています。(途中、一切の改行を入れずにエントリを書けば、一行目から <HTMLCode> を使ってもよいのですが、かなりの苦行になります)
これをスクリプト形式で保存します。保存名はできるだけわかりやすいものがいいので、『<HTMLCode>.scpt』などとし、~ライブラリ/Scripts/ フォルダに保存します。サブフォルダを作って整理しておいてもいいでしょう。保存後、iBlog のエントリ編集ウインドウで、挿入したい場所にインサーションポイントを持って行った状態でスクリプトメニューから実行すれば、<HTMLCode>タグが挿入されます。
このエントリのように「段落ごとに一行空け、一字下げ」でエントリを書きたいのであれば、
set the clipboard to "<div style='margin-top: 1em; text-indent: 1em;'></div>" as text
\
tell application "iBlog" to activate
tell application "System Events"
key down {command}
keystroke "v"
key up {command}
end tell
として、<div> と </div> の間に段落ごとの文章を書きます。
また、エントリにイメージを張り込むことが多いなら、set the clipboard to の部分を
set the clipboard to "<img src='http://arimura.ddo.jp/~kaoru/iblog_images/XXX.jpg' alt='XXX.jpg' width='306' height='208' border='0' align='left' />" as text
などとすれば、入力も楽になりますし、alt 属性の付け忘れもなくなります。(AppleScript では、ダブルクォーテイションマークの中でダブルクォーテイションを使う場合、『\"』とエスケープしますが、面倒なのでシングルクォーテイションマークを使いました。これでも大丈夫です。ちなみに、『\』は option キー+¥で入力できますが、日本語環境では正常に動作しないことがありますので、シングルクォーテイションを使ったほうが無難です)
(10/30/2004 追記)日本語環境では『¥』を使い、『¥"』とすることでダブルクォーテイションマークをつかいます。
普段使うことが多いタグごとにスクリプトを用意しておけば、エントリ書きが楽になります。私なら、
set the clipboard to "<blockquote></blockquote>" as text
とか、ね。

投稿: 2004年08月16日 (月) at 02:42   | | | |

◀   |   |   ▶
◀   |   |   ▶