AppleScript改造! – MarsEdit上で関連記事が作れるスクリプト | stryhの日記 ~stryh/changelog AppleScriptでは他言語をCall出来るということをあずさん(@azur256)から教えてもらい、今回はRubyを使用し空白除去をしています。 |
名前を出していただきました。ありがとうございます。
確かに自分のブログのタイトルは不要じゃないか、と思ったので同じように消そうと思ったのですが、そのまま使うのはなんか悔しいので(笑)、オリジナルをベースにちょっと改造。でもインスパイアされるって楽しいですよね。
一つは自分のブログのサイト名を消すところを外部呼び出しではなくて AppleScript の中でやります。さいたくんみたいに丁寧なやり方ではなく、空白文字とかも含めてデリミタにして削除していまうという荒技です。
オリジナルのスクリプトの中に replace_string_action という便利な関数を用意してもらっているのでこれを拝借。ようするに消したい文字列をデリミタにして分割してから消しちゃうってことで。
1 2 3 |
set site_title to name of handle_document set site_title to replace_string_action(site_title, "最近, 気になったこと...: ", "") of me set site_url to URL of handle_document |
ついでにTweet数とはてブ数の表示と、常に別ウィンドウで開くように target=”_blank” を指定しました。
このスクリプトは Gist に置いてありますので、使いたい人はダウンロードして MarsEdit のスクリプトフォルダに突っ込んで使ってください。
ついでに、関連するエントリを作るための元は Google を使って自分のサイトを検索することが多い気がしたので、MarsEdit に最初からサンプルで付いている Google 検索用の AppleScript を Safari 固定にして、検索文字列に自分のサイトを指定するように変更しました。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
on displayErrorMessage(s) display dialog (s) buttons {"OK"} default button "OK" with icon caution end displayErrorMessage tell application "MarsEdit" try set currentWindow to document 1 on error errorMessage displayErrorMessage("Can’t run a Google search because no posts windows are open. This script searches using the selected text of the frontmost window.") of me return end try set queryString to selected text of currentWindow if (queryString is equal to "") then displayErrorMessage("Can’t run a Google search because no text is selected.") of me return end if end tell tell application "Safari" search the web for queryString & " site:azur256.blogspot.com" end tell |
この2つを使えば、キーワードをクリップボードに入れれば、Safariで検索結果が表示されて、そこから必要なものをタブで開いて関連エントリを作る、って感じにできるかな、と。こちらも Gist に置いてあります。
次は、これを TextExpander のスニペットにしたいと思います。Text Expander は AppleScript が書けるのでほぼそのままでも良いのですが、少しだけシンプルにしてみました。詳細は次のエントリで。
関連するエントリ
最後まで読んでいただきありがとうございます。
左のアイコンをクリックして、このブログを Feedly に登録していただけると嬉しいです
Facebook ページでも情報を発信していますのでよろしかったら「いいね!」をお願いします
RSSリーダへの登録は こちら からどうぞ。
コメントを残す