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

PiyoTagAssist v1.0のカスタマイズ


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


1.このエントリについて

PiyoTagAssistのカスタマイズ方法について記述します。
導入方法と使用方法はPiyoTagAssistの説明エントリをどうそ。リンク辞書についての説明もあります。
ここで説明している内容は1.0版です。PiyoTagAssistは、iBlogTagAssistの1.5版をベースとしてします。iBlogTagAssistの1.5版については、iBlogTagAssist v1.5の説明のエントリiBlogTagAssist v1.5のカスタマイズのエントリをどうぞ。このエントリは、iBlogTagAssist v1.5のカスタマイズのエントリから変更がある部分について、赤字で記載しています。

PiyoTagAssistはPiyoTagAssistの説明エントリで記載されている通り、複数のAppleScriptから構成されています。構成ファイルのひとつとして、PiyoTagAssist.scptというものもあります。これ以降、特に説明なく PiyoTagAssist と記載がしてある場合は、PiyoTagAssist.scptを指すこととします。

2.カスタマイズの概要

カスタマイズとしてPiyoTagAssistが提供しているのは、以下の項目です。 #もちろん、内部のソースをいじれば自由自在です。

  • <、>を置換するもの
  • 独自の置換の設定
  • 独自のエイリアスの設定
  • URL変換時の置換の設定
  • 待ち時間の設定
  • a、a_w_conversion時にリンク辞書への登録設定
  • リンク辞書の内容
  • リンク辞書を用いたリンクとはてなのキーワードへのリンクのための「リンク用の文字列」の指定文字列

PiyoTagAssist全体の構造は以下のように整理されています。カスタマイズの際に、後半の2つのファイルを編集することになります。

  • パラメータあり/なしにて共通的な処理: PiyoTagAssist/Library/common
  • 設定ファイル: PiyoTagAssist/Preference/preference
  • リンク辞書: PiyoTagAssist/Data/linkDictionary.txt

3.カスタマイズの方法

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

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

preferenceファイルにおいて、

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

3.1.2 全角にしたい

preferenceファイルにおいて、

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

3.1.3 別の文字にしたい

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

3.2. 独自の置換の追加

3.2.1 追加の仕方

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

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

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

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

3.2.2 追加した置換の利用の仕方
-conv:convert_list_index

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

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

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

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

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

となります。

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

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

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.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 />には置き換えない。
link:特定の文字列で囲まれたリンクのための文字列を処理する。"ta -ld -lh"と同じ。
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.3.1 で追加したエイリアスを利用する場合は

ta:html

を処理対象の先頭行に加えて、PiyoTagAssistで処理します。

例えば、

<_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 />となっていることが分かります。

3.4. 全体カスタマイズ

3.4.1 遅延時間の変更

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

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

3.5. タグ別カスタマイズ

3.5.1 table

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

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

3.5.2 textarea

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

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

3.5.3 link
a、a_w_conversion時にリンク辞書への登録設定

a、a_with_conversionを実行した際に、対応するリンクの情報をリンク辞書に登録することができ、その設定をすることができます。

上記のソース部分におけるUse_link_dictionaryの値によって、リンク辞書への登録方法を設定できます。設定できるのは、以下の3つのどれかです。

設定値意味
yesユーザに確認せずに登録します
noユーザに確認せずに登録しません
askmeユーザに確認します
リンク辞書の内容

リンクの辞書は、

PiyoTagAssist/Data/linkDictionary.txt

というテキストファイルになっています。その構成は、

(リンク用の文字列1)[is-link-to](リンク先のURL1)
:
(リンク用の文字列n)[is-link-to](リンク先のURLn)
=== end of link dictionary ===

のようになっています。この構成に従ってテキストエディタ等で開いて編集することでリンク辞書を変更することができます。

リンク辞書を用いたリンクとはてなのキーワードへのリンクのための「リンク用の文字列」の指定文字列

PiyoTagAssist.scptの-ldと-lhのオプション(詳しくはPiyoTagAssistの説明エントリを参照ください)が「リンク用の文字列」を区別するために、前後に文字列を必要とします。例えば、リンク用の文字列が「アップル」であれば、-ld用は"d[アップル]d"、-lh用は"h[アップル]h"となります。この"d["と"]d"、"h["と"]h"を変更することができます。

上記のソース部分において、該当箇所を変更することで対応する文字列を変更することができます。例えば、-ldのリンク用の文字列を指し示す物を"=|"と"|="で囲むようにするには、

とします。

以上です。


( ・∀・)つ〃∩ ヘェーヘェーヘェー">
投稿時間: 2005年09月24日 (土) at 01:28   

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