サービスがいいMacBookにしておく - ザリガニが見ていた...。
こちらの記事を見ると、Automatorのサービスは、
選択しているテキストを編集して返すことができるみたい。
しかも全てのアプリケーションに対して!
これって、今まで何回か挑戦しては敗れてきた、
ユニバーサルパレットの代わりになるのでは!?
ということで検証してみた。
結論:Automatorのサービスはユニバーサルパレットの代わりになる
以下、説明。
Automatorで「ファイル」→「新規」、テンプレートで「サービス」を選択。 詳細は上記のサービスがいいMacBookにしておくを参照されたい。
で、AppleScriptが出てくるので、そこに以下のソースを貼り付ける。
(記事の終わりにworkflowファイルのzipを置くので、やらなくてもいいです)
1.<strong> タグで囲みたい場合。
propertyは使えなかったので変数にした。
あと、「選択されたテキストを置き換える」をチェックすることが大事。
このworkflowファイルを別名で保存する。ここでは「strong」とした。
タグで囲みたいテキストを選択して、「サービス」の中に
先ほど保存したworkflowがあるのを確認し、選択。
数秒待つと、選択されたテキストが、見事strongタグで囲まれた。
ぶらぼー!
2.<blockquote> タグで囲みたい場合
今度は複数行を選択することを想定。
見事、blockquoteタグで囲まれた。
複数行のテキストを囲むことを想定して改行を入れてある。
3.<ul> 、<ol> タグで囲みたい場合
今度は行数を取得して、ループを組む必要がある。
これは、ユニバーサルパレットのapplescriptをほぼそのまま流用できた。
リスト化したいテキスト(改行区切り)を選択し、サービスを選ぶ。
見事 ul タグでリスト化された。
ol タグにしたいときは、StartTagとEndTagのところの ul を ol にすればいい。
ということで、strong、blockquote、ul、olタグで囲むworkflowのファイルを
まとめてzipにしたものを置いておく。
→workflows.zip
ダウンロードしてダブルクリックして展開すると、
workflowファイルが4つ入ったフォルダができる。
これらのファイルを、ホームディレクトリの
Library/Services
フォルダに放り込む。
すると、右クリックで出てくる「サービス」メニューの中に
strong、bq(blockquote)、ul、ol などの項目が現れるはず。
思い切って選択してみよう。
ということで、Automatorのサービスを使うことで、
ユニバーサルパレットっぽい動作をさせることができた。
全てのアプリケーションに対して使えるところが強み。
ユニバーサルパレットのAppleScriptをちょっといじると
使えるようになるので、完全に移行することもできそうな気がする。
あとは、この新しく作ったサービスメニューに
ショートカットを割り当てたいのだが、
Service Scrubberではうまく割り当てられなかった。
これができればほぼ目標達成なのだが。
惜しい!
ちなみに今回のAppleScriptのソースの表示は
AppleScript HTMLを使わせてもらった。
ありがとうございます。
関連:
・ユニバーサルパレットをスクリプトメニューで代用 (うむらうす)
・ユニバーサルパレットをスクリプトメニューで代用2 (うむらうす)
・Safari用MakeLink代替AppleScriptをいじってみた (うむらうす)
・AppleScriptの使い方(スクリプトメニューとユニバーサルパレット) (うむらうす)
・サービスがいいMacBookにしておく - ザリガニが見ていた...。
・選択したテキストをExciteで翻訳してGrowlで表示させるAutomator製サービス | Macの手書き説明書