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

iBlogTagAssist v1.4


iBlogTagAsssist に機能追加したのでv1.4として公開します。

iBlogTagAssistはiBlogのタグ(HTMLCode、blockquote)やエスケープ処理などの入力処理を支援するAppleScriptです。v1.3との変更部分を赤く記載しています。

追加機能
  • パラメータを最初の行ではなくて最後の行に入力でもOKとした
  • パラメータがない場合、エイリアスの一覧から選択するようにした
  • 遅延時間をカスタマイズ対象にした


※iBlog以外で動作を確認したのは、「テキストエディット」「mi 」です。iBlog以外での動作を可能にするためにhiroさん の教えてくれたサイトkaoru_ariさんのエントリ を参考にさせていただいております。ありがとうございました。
※元に戻す機能は、基本的にiBlogTagAssistにより置換された状態を元に戻すことを前提に作成されています。手動で作成されたものを戻しても正常に動作しない場合がございます。
※もはや、[iBlog]と冠をつける必要はないですが・・
※うまく動作しなかったり、エラーが発生する場合は、カスタマイズのエントリ を参考にしていただき delay_time の値を大きくしてみてください(エントリの一番下の方にあります)。

利点
・ある程度、まとめてドンと処理できます
・エスケープするしない、置換するしない、囲むタグなど自由自在にカスタマイズできます。
・置換内容を自分で追加できます

このエントリでは、導入方法と使用方法について説明します。
カスタマイズについては、こちら を参照ください。

1.導入方法(インストール)
1.iBlogTagAssist1.4.zip をダウンロードします。
2.適当な場所で解凍します。
3.~/Library/Scripts に置きます。
4.システム環境設定→ユニバーサルアクセス において「補助装置にアクセスできるようにする」をオンにします。

2.使用方法

2.1 概要
iBlogTagAssist1.4.zipの中身は、複数のAppleScriptより構成されています。
これらのAppleScriptは大きく分けて以下の2つに分類できます。

パラメータなし

HTMLCode
blockquote
pre
p
ul
ol
br
escape
r_HTMLCode
r_blockquote
r_pre
r_p
r_ul
r_ol
r_br
r_escape


パラメータあり

iBlogTagAssist

パラメータなしのものは、処理対象を選択して、対応するAppleScriptを上部メニューにあるスクリプトメニューから選択するだけで処理されます。

パラメータありのものは、処理対象の最初か最後の行にパラメータを入力して、iBlogTagAssistというAlleScriptをスクリプトメニューから選択することで処理されます。パラメータがない場合は、下図のような登録済みのエイリアス一覧が表示され、選択されたエイリアスにて処理されます。処理内容はパラメータにより決まります。





2.2 パラメータなしのAppleScriptの使用方法

上述の通り、パラメータなしのものは、処理対象を選択して、対応するAppleScriptを上部メニューにあるスクリプトメニューから選択するだけで処理されます。

各スクリプトの処理は以下のようになります。

HTMLCode

HTMLCodeタグを選択範囲を囲むように作成します。
blockquote

blockquoteタグを選択範囲を囲むように作成します。
pre

preタグを選択範囲を囲むように作成します。
p

pタグを選択範囲を囲むように作成します。
ol

olタグを選択範囲を囲むように作成し、選択範囲の1行ごとにliタグを挿入します。
ul

ulタグを選択範囲を囲むように作成し、選択範囲の1行ごとにliタグを挿入します。
br

brタグを選択範囲の改行部分に挿入します。
escape

HTMLエスケープを実施。具体的には以下の置換を行う。

< → &lt;
> → &gt;
& → &amp;
" → &quot;
r_HTMLCode

選択範囲を囲んでいるHTMLCodeタグを除去します。先頭行と最終行がHTMLCodeタグである必要があります。
r_blockquote

選択範囲を囲んでいるblockquoteタグを除去します。先頭行と最終行がblockquoteタグである必要があります。
r_pre

選択範囲を囲んでいるpreタグを除去します。先頭行と最終行がpreタグである必要があります。
r_p

選択範囲を囲んでいるpタグを除去します。先頭行と最終行がpタグである必要があります。
r_ol

選択範囲を囲んでいるolタグ、選択範囲の各行のliタグを除去します。先頭行と最終行がolタグである必要があります。
r_ul

選択範囲を囲んでいるulタグ、選択範囲の各行のliタグを除去します。先頭行と最終行がulタグである必要があります。
r_br

「brタグ+改行」を改行に置換します。
r_escape

HTMLエスケープの逆置換を実施。具体的には以下の置換を行う。

&lt; → <
&gt; → >
&amp; → &
&quot; → "

2.3 パラメータありのAppleScriptの使用方法

上述の通り、パラメータありのものは、処理対象の上の行にパラメータを入力して、iBlogTagAssistというAlleScriptをスクリプトメニューから選択することで処理されます。処理内容はパラメータにより決まります。

パラメータの書式は次の通りです。

ta[:alias_name] [-tag:tag_targets] [-rtag:tag_targets] [-br] [-conv:convert_list_index] [-esc] [-ol] [-ul] [-rul] [-rol] [-resc] [-rconv:convert_list_index] [-rbr

オプションは記載順に処理されるので注意してください。
例えば

-esc -br
-br -esc


では結果が違います(後者は<br />が文字として表示されます)。

それぞれの意味

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タグの囲みを削除する。

-tag:tag_targets

選択された範囲を囲む形でタグを作成する。 タグはtag_targetsの部分で以下から指定する。複数組み合わせ可能(ex. hb)。指定順に囲まれる(hb ならば、<HTMLCode><blockquote>・・</blockquote></HTMLCode>(改行は省略))。

h:HTMLCodeタグで囲む
b:blockquoteタグで囲む
p:preタグで囲む
P:pタグで囲む

-br

選択された範囲の改行を<br />と改行に置き換える。

-conv:convert_list_index

選択された範囲内に置いて、置換を行う。置換内容は、convert_list_indexにて指定されたもの。詳しくはこちら を参照。

-esc

HTMLエスケープを実施。具体的には以下の置換を行う。

< → &lt;
> → &gt;
& → &amp;
" → &quot;

-ol

olタグを選択範囲を囲むように作成し、選択範囲の1行ごとにliタグを挿入します。

-ul

ulタグを選択範囲を囲むように作成し、選択範囲の1行ごとにliタグを挿入します。

-rtag:tag_targets

選択された範囲を囲んでいる該当タグを削除する。 タグはtag_targetsの部分で以下から指定する。複数組み合わせ可能(ex. hb)。指定順に削除される(hb ならば、最初に大外のHTMLCodeが削除され、次にその内側にあるblockquoteが削除される)。

h:囲んでいるHTMLCodeタグを除去する
b:囲んでいるblockquoteタグを除去する
p:囲んでいるpreタグを除去する
P:囲んでいるpタグを除去する

-rbr

選択された範囲の「<br />と改行」を改行に置き換える。

-rconv:convert_list_index

選択された範囲内において逆置換を行う(通常の置換元テキストと置換先テキストが逆となる。通常A→Bという置換であれば逆置換はB→Aとなる)。置換内容は、convert_list_indexにて指定されたもの。詳しくはこちら を参照。

-resc

HTMLエスケープの逆置換を実施。具体的には以下の置換を行う。

&lt; → <
&gt; → >
&amp; → &
&quot; → "

-rol

olタグ、選択範囲の各行のliタグを除去します。

-rul

ulタグ、選択範囲の各行のliタグを除去します。


2.4 具体例

パラメータなしのものについては、処理対象のテキストを選択して、処理したいAppleScriptを選択するだけですので省略します。この節で先頭行と書いてあるものは最終行でもOKです(書かないと実行時に選択することとなります)。

2.4.1 HTMLの一部をHTMLとして処理されずにiBlogのエントリ内に表示したい。

<script language="javascript" type="text/javascript" src="http://www.piyosystems.com/cgi-bin/WebObjects/PiyoFeedsAlpha.woa/wa/piyoFeeds?userId=kuki&amp;feedId=cheep"></script>


例えば、このようなHTMLの一部をHTMLとして処理されずにiBlogのエントリに表示したい場合、HTMLのエスケープを実施する必要があるので、デフォルトで用意されている"esc"エイリアスを次のようにして利用するのが簡単です。

まず、次のように

ta:esc
<script language="javascript" type="text/javascript" src="http://www.piyosystems.com/cgi-bin/WebObjects/PiyoFeedsAlpha.woa/wa/piyoFeeds?userId=kuki&amp;feedId=cheep"></script>

先頭行に"ta:esc"を入力します。

次に、先頭行を含めて全体を選択して、iBlogTagAssist AppleScriptを選択します。すると

<HTMLCode>
<blockquote>
&lt;script language=&quot;javascript&quot; type=&quot;text/javascript&quot; src=&quot;http://www.piyosystems.com/cgi-bin/WebObjects/PiyoFeedsAlpha.woa/wa/piyoFeeds?userId=kuki&amp;amp;feedId=cheep&quot;&gt;&lt;/script&gt;<br />
</blockquote>
</HTMLCode>

のように簡単に置換されます。

実際の出力結果は

<script language="javascript" type="text/javascript" src="http://www.piyosystems.com/cgi-bin/WebObjects/PiyoFeedsAlpha.woa/wa/piyoFeeds?userId=kuki&amp;feedId=cheep"></script>


のようになります。


2.4.2 HTMLの一部をHTMLとしてiBlogのエントリ内に表示したい。

<script language="javascript" type="text/javascript" src="http://www.piyosystems.com/cgi-bin/WebObjects/PiyoFeedsAlpha.woa/wa/piyoFeeds?userId=kuki&amp;feedId=cheep"></script>

のようなHTMLの一部をHTMLとして処理されるようにするには、デフォルトの"no-esc"エイリアスを利用するのが簡単です。

まず、次のように

ta:no-esc
<script language="javascript" type="text/javascript" src="http://www.piyosystems.com/cgi-bin/WebObjects/PiyoFeedsAlpha.woa/wa/piyoFeeds?userId=kuki&amp;feedId=cheep"></script>

先頭行に"ta:no-esc"を入力します。

次に、先頭行を含めて全体を選択して、iBlogTagAssist AppleScriptを選択します。すると

<HTMLCode>
<blockquote>
<script language="javascript" type="text/javascript" src="http://www.piyosystems.com/cgi-bin/WebObjects/PiyoFeedsAlpha.woa/wa/piyoFeeds?userId=kuki&amp;feedId=cheep"></script><br />
</blockquote>
</HTMLCode>

のように簡単に置換されます。

実際の出力結果は




のようになります。
#「ここで読む」だとうまく表示されないかもしれません。個別でつづきを読む... でお願いします。


2.4.3 ソースを表示したい。

-- replace text
on my_replace_text(theText, theFrom, theTo)
	set _list to my_divide_text(theText, theFrom)
	set _result to my_concat_text(_list, theTo)
	return _result
end my_replace_text

のようなHTMLの一部をHTMLとして処理されるようにするには、デフォルトの"src"エイリアスを利用するのが簡単です。

まず、次のように

ta:src
-- replace text
on my_replace_text(theText, theFrom, theTo)
	set _list to my_divide_text(theText, theFrom)
	set _result to my_concat_text(_list, theTo)
	return _result
end my_replace_text

先頭行に"ta:src"を入力します。

次に、先頭行を含めて全体を選択して、iBlogTagAssist AppleScriptを選択します。すると

<HTMLCode>
<blockquote>
<pre>
ta:src
-- replace text
on my_replace_text(theText, theFrom, theTo)
set _list to my_divide_text(theText, theFrom)
set _result to my_concat_text(_list, theTo)
return _result
end my_replace_text
</pre>
</blockquote>
</HTMLCode>

のように簡単に置換されます。

実際の出力結果は

-- replace text
on my_replace_text(theText, theFrom, theTo)
	set _list to my_divide_text(theText, theFrom)
	set _result to my_concat_text(_list, theTo)
	return _result
end my_replace_text


のようになります。

2.4.4 元に戻したい

<HTMLCode>
<blockquote>
&lt;script language=&quot;javascript&quot; type=&quot;text/javascript&quot; src=&quot;http://www.piyosystems.com/cgi-bin/WebObjects/PiyoFeedsAlpha.woa/wa/piyoFeeds?userId=kuki&amp;amp;feedId=cheep&quot;&gt;&lt;/script&gt;<br />
</blockquote>
</HTMLCode>


例えば、escエイリアスを利用して置換された上記のような結果をもとの状態に戻したい場合、"esc"エイリアスに対応した"resc"エイリアス(デフォルトで用意されています)を次のようにして利用するのが簡単です。

まず、次のように

ta:resc
<HTMLCode>
<blockquote>
&lt;script language=&quot;javascript&quot; type=&quot;text/javascript&quot; src=&quot;http://www.piyosystems.com/cgi-bin/WebObjects/PiyoFeedsAlpha.woa/wa/piyoFeeds?userId=kuki&amp;amp;feedId=cheep&quot;&gt;&lt;/script&gt;<br />
</blockquote>
</HTMLCode>

先頭行に"ta:resc"を入力します。

次に、先頭行を含めて全体を選択して、iBlogTagAssist AppleScriptを選択します。すると

<script language="javascript" type="text/javascript" src="http://www.piyosystems.com/cgi-bin/WebObjects/PiyoFeedsAlpha.woa/wa/piyoFeeds?userId=kuki&amp;feedId=cheep"></script>

のように簡単に元の状態に戻ります。

2.4.5 順序付きリストを表示したい場合

最初の項目
2番目の項目
3番目の項目
最後の項目

例えば、上記のような項目リストを順序付きのリストにしたい場合、"ol"エイリアス(デフォルトで用意されています)を次のようにして利用するのが簡単です。

まず、次のように

ta:ol
最初の項目
2番目の項目
3番目の項目
最後の項目

先頭行に"ta:ol"を入力します。

次に、先頭行を含めて全体を選択して、iBlogTagAssist AppleScriptを選択します。すると

<HTMLCode>
<ol>
<li>最初の項目</li>
<li>2番目の項目</li>
<li>3番目の項目</li>
<li>最後の項目</li>
</ol>
</HTMLCode>

のようになります。実際の表示は

  1. 最初の項目
  2. 2番目の項目
  3. 3番目の項目
  4. 最後の項目


となります。


以上です。
個人的にはかなり便利に使っています。

一応試験はしておりますが、バグ等のご報告はこちらのコメントまでお願いします。
改変はご自由にどうぞ。トラックバックしてくれるとうれしいです。

なお、こちらのスクリプトを利用したことによるいかなる損害にも一切責任を負いませんので自己責任でお願いします。#お約束。

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

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

ブックオフオンライン

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