←前のエントリ |  ↑↑Blog |  ↑Category |  ↓Comment |  ↓Trackback |  次のエントリ→

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


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

iBlogTagAssistのカスタマイズ方法について記述します。
導入方法と使用方法はこちらのエントリ をどうそ。
ここで説明している内容は1.4版です。古いものはこちらをどうぞ。

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

カスタマイズ可能なのは以下の3項目です。
#もちろん、内部のソースをいじれば自由自在です。

1. <、>を置換するもの
2. 独自の置換の追加
3. 独自のエイリアスの作成

カスタマイズは全て、iBlogTagAssist のファイルの先頭部分にあります。
version 1.4 では以下の部分になります。

-- customize (start)
(*
 * alias
 *)
property alias_list : {{"src", "ta -tag:hbp -esc -conv:1"}, {"no-esc", "ta -tag:hb -br"}, {"esc", "ta -tag:hb -esc -br -conv:1"}, {"ol", "ta -tag:h -ol"}, {"ul", "ta -tag:h -ul"}, {"rsrc", "ta -rtag:hbp -rconv:1 -resc"}, {"rno-esc", "ta -rtag:hb -rbr"}, {"resc", "ta -rtag:hb -rconv:1 -rbr -resc"}, {"rol", "ta -rtag:h -rol"}, {"rul", "ta -rtag:h -rul"}}

(*
 * "<", ">" -> ?
 *)
-- use html escape code to replace "<" or ">"
property less_than : "&lt;"
property greater_than : "&gt;"

-- use another word to replace "<" or ">"
--property less_than : "<"
--property greater_than : ">"

(*
 * convert
 *)
property convert_list : {{"&lt;a ", "&lt;<span style=¥"display:none;¥">_</span>a "}}

(*
 * delay
 *)
property delay_time : 1
-- custmize (end)



1. <、>を置換するもの

a) &lt;や&gt;に置き換えたい

-- use html escape code to replace "<" or ">"
property less_than : "&lt;"
property greater_than : "&gt;"

-- use another word to replace "<" or ">"
--property less_than : "<"
--property greater_than : ">"

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

b) 全角にしたい

-- use html escape code to replace "<" or ">"
--property less_than : "&lt;"
--property greater_than : "&gt;"

-- use another word to replace "<" or ">"
property less_than : "<"
property greater_than : ">"

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


c) 別の文字にしたい

-- use html escape code to replace "<" or ">"
--property less_than : "&lt;"
--property greater_than : "&gt;"

-- use another word to replace "<" or ">"
property less_than : "["
property greater_than : "]"


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


2. 独自の置換の追加

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

(*
 * convert
 *)
property convert_list : {{"&lt;a ", "&lt;<span style=¥"display:none;¥">_</span>a "}}

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

{"<br>", "<br />"}

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

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

(*
 * convert
 *)
property convert_list : {{"&lt;a ", "&lt;<span style=¥"display:none;¥">_</span>a "}, {"<br>", "<br />"}}

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

-conv:convert_list_index

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



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

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

(*
 * convert
 *)
property convert_list : {{"&lt;a ", "&lt;<span style=¥"display:none;¥">_</span>a "}}

となっていますので、数値との対応は

1: "&lt;a " → "&lt;<span style=¥"display:none;¥">_</span>a "

となります。

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


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

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

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

(*
 * alias
 *)
property alias_list : {{"src", "ta -tag:hbp -esc -conv:1"}, {"no-esc", "ta -tag:hb -br"}, {"esc", "ta -tag:hb -esc -br -conv:1"}}

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

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

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

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

{"html", "ta -tag:h -conv:2 -esc -conv:1"}

を alias_list変数に追加します。

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

(*
 * alias
 *)
property alias_list : {{"src", "ta -tag:hbp -esc -conv:1"}, {"no-esc", "ta -tag:hb -br"}, {"esc", "ta -tag:hb -esc -br -conv:1"}, {"html", "ta -tag:h -conv:2 -esc -conv:1"}

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

ta[:alias_name]
alias_name

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

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

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


ということで、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
 *)
property delay_time : 1

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

( ・∀・)つ〃∩ ヘェーヘェーヘェー">
投稿時間: 2004年11月06日 (土) at 20:43   

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

ブックオフオンライン

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