iBlogTagAssistのカスタマイズv1.5対応
←前のエントリ |  ↑↑Blog |  ↑Category |  ↓Comment |  次のエントリ→

iBlogTagAssistのカスタマイズ v1.5対応


タグ等の入力支援のためのAppleScriptのカスタマイズ方法です。

iBlogTagAssistのカスタマイズ方法について記述します。
導入方法と使用方法はこちらのエントリをどうそ。
ここで説明している内容は1.5版です。古いものはこちらをどうぞ。v1.4(v1.4.1)との変更部分を赤く記載しています。

ここでいう iBlogTagAssist とは、AppleScriptとしての1ファイルで存在するもの(iBlogTagAssist.scpt)を指します。

カスタマイズ可能なのは以下の項目です。
#もちろん、内部のソースをいじれば自由自在です。
  • <、>を置換するもの
  • 独自の置換の設定
  • 独自のエイリアスの設定
  • URL変換時の置換の設定
  • 待ち時間の設定

カスタマイズは全て、preference というファイルにおいて設定します。このファイルは iBlogTagAssist.scpt のファイルと同じ場所にある Preference フォルダ内にあります。

ちなみに、1.5からファイルの構造が大幅に変更になり、以下のように整理されています。
  • パラメータあり/なしにて共通的な処理: iBlogTagAssist/Library/common
  • 設定ファイル: iBlogTagAssist/Preference/preference
1. <、>を置換するもの
a) &lt;や&gt;に置き換えたい

preferenceファイルにおいて、



のように最初の部分をコメントアウトしないで、2つ目の部分をコメントアウトしてください。デフォルトはこの状態です。

b) 全角にしたい

preferenceファイルにおいて、


のように最初の部分をコメントアウトし、2つ目の部分をコメントアウトしないでください。


c) 別の文字にしたい


のように最初の部分をコメントアウトし、2つ目の部分をコメントアウトしないで、変数の値を変換したいものにしてください。ここでは、"["、"]"に変換するようにしています。


2. 独自の置換の追加

2.1 追加の仕方
独自に置換する項目を追加することができます。


上記のソース部分における convert_list に置換したい内容を置換前、置換後のペアで追加/編集します。
例えば、 "<br>"を"<br />" と変更したい場合は、


というペアを元々あるconvert_listに追加します。

デフォルトの状態に追加したとすると、以下のようになります。

2.2 追加した置換の利用の仕方

-conv:convert_list_index

選択された範囲内に置いて、置換を行う。置換内容は、convert_list_indexにて指定されたもの。


のように、convert_list_indexに値を渡して利用します。この値は、2.1で追加対象とした、convert_list変数の何番目に存在するかを示す数値となります。

デフォルトの状態では、ソースは、

となっていますので、数値との対応は
1: "<_a " → "<<span style=¥"display:none;¥_</span>a "

となります。

よって、2.1の例のように2番目に追加したものを利用する場合は、-conv:2 をtaのオプションとして渡せば処理されます。


3. 独自のエイリアスの作成

3.1 登録の仕方
処理のたびに、全てのオプションを入力するのは大変ですので、エイリアスを登録することができます。
デフォルトで、3種類のエイリアスがありますが、自分の望む動作でない場合、追加削除等の編集することができます。

カスタマイズの該当ソースは、

のようになっています。
上記のソース部分における alias_list に登録したいエイリアスとその内容を名前と実際のパラメータのペアで追加/編集します。

例えば、 "html"という名前で

・HTMLCodeタグで囲み
・<br>タグを<br />タグに変換する
・HTMLエスケープを実施する
・aタグの変換(-conv:1)をする

という変換を登録したい場合は、名前"html"と処理内容を意味するパラメータ "ta -tag:h -conv:2 -esc -conv:1"のペア

を alias_list変数に追加します。

デフォルトの状態に追加したとすると、以下のようになります。

3.2 追加したエイリアスの利用の仕方

ta[:alias_name]
alias_name

登録済みの省略名を指定する。ここを指定すると、以降のオプションは無視され、登録名に対応する処理が実行される。対応する名前がないと警告が表示され、何も処理されない。

デフォルトとして、以下のものが登録されている。

esc:HTMLCode、blockquoteで囲み、内容についてエスケープ処理を行う。改行を<br />には置き換える。aタグは<との間にスペースを入れる。
no-esc:HTMLCode、blockquoteで囲み、内容についてエスケープ処理を行わない。改行を<br />には置き換える。
src:HTMLCode、blockquote、preで囲み、内容についてエスケープ処理を行う。改行を<br />には置き換えない。
textarea:HTMLCode、form、textareaで囲む。改行を<br />には置き換えない。
ol:HTMLCode、olで囲み、各行をliタグで囲む。改行を<br />には置き換えない。
ul:HTMLCode、ulで囲み、各行をliタグで囲む。改行を<br />には置き換えない。
table:HTMLCode、tableで囲み、各行をtrタグで囲む。その際、各行のカンマをthタグまたはtdタグで置き換える。改行を<br />には置き換えない。
resc:escの処理を元に戻す。具体的には、HTMLCode、blockquoteの囲みを削除する。spanタグにより認識外にさせていたaタグは元に戻す。「<br />と改行」を改行に置き換える。逆エスケープ処理を行う。
rno-esc:no-escの処理を元に戻す。具体的には、HTMLCode、blockquoteの囲みを削除する。「<br />と改行」を改行に置き換える。
rsrc:srcの処理を元に戻す。具体的には、HTMLCode、blockquote、preの囲みを削除する。spanタグにより認識外にさせていたaタグは元に戻す。逆エスケープ処理を行う。
rtextarea:textareaの処理を元に戻す。具体的には、HTMLCode、form、textareaの囲みを削除する。
rol:olの処理を元に戻す。具体的には、HTMLCode、olで囲みを削除する。各行のliタグの囲みを削除する。
rul:ulの処理を元に戻す。具体的には、HTMLCode、ulで囲みを削除する。各行のliタグの囲みを削除する。
rtable:tableの処理を元に戻す。具体的には、HTMLCode、tableの囲みを削除する。各行のtrタグの囲みを削除する。各行に置けるthタグまたはtdタグをカンマに戻す。


ということで、3.1 で追加したエイリアスを利用する場合は

ta:html

を処理対象の先頭行に加えて、iBlogTagAssistで処理する。

例えば、

<_a href="http://www.google.co.jp">google</a><br>

という内容を ta:src で処理すると

<_a href="http://www.google.co.jp">google</a><br>

となる。

一方、ta:html で処理すると

<_a href="http://www.google.cojp">google</a><br />
となり、blockquoteされておらず、<br>が<br />となっていることが分かる。


4. 全体カスタマイズ

4.1 遅延時間の変更
環境によってはデフォルトの遅延時間ではうまく動作しない場合があります。


上記のソース部分における delay_time の値をデフォルトの1から変更します。大きくすればするほど遅延時間は長くなります。短すぎるとうまく動作しない場合があります。


5. タグ別カスタマイズ
5.1 table

テーブル作成時のborderを設定できます。


上記のソース部分における table_border の値が、テーブル作成時のborder属性となります。
デフォルトは1としています。


5.2 textarea

textarea作成時の横幅(width)を設定できます。rowsは選択行数+1が自動的に入ります。

上記のソース部分における textarea_cols の値が、テーブル作成時のborder属性となります。
デフォルトは80としています。

投稿時間: 2005年02月11日 (金) at 13:53  Comments

←前  |  ↑↑Blog |  ↑Category |  ↑Entry top |  次→

ブックオフオンライン