カテゴリー
HTML/CSS Script Web

引用を自動化

ブログで記事を書いていると引用することがよくあります。引用の仕方は人それぞれ、インターネット・サービスでも多種多様です。要は見てくれている人に正しい情報が伝われば良いのです。が、しかし、W3Cが提唱する基本ルールと云うのがあるのでその記述に添って書いていく方が万人に受け入れやすいのではないでしょうか。まだ、この基本ルールは世の中に浸透しているとは言いにくい状況ですが、そのうち足並みも揃ってくると思います。
ただ、基本ルール通りに記述するにはたくさんの情報をHTML要素の中に含めなければいけません。正しい記述方法は知っているけど、それが面倒でやっていない人も多いかと思います。そこでタグの生成を自動化できないかとAppleScriptを使って試してみました。私が採用した記述方法はこちら。ちょっと冗長かな。
ブロック要素

インライン要素

Get Quote Tag on GitHubDemo
Safariブラウザでタグを生成するAppleScript書類とAppleScript実行環境を持たない人のためにAutomator書類も同梱しています。Automator書類はダブルクリックすることでダイアログが出ますので「インストール」を選択してください。「アプリケーションメニュー > サービス」から利用できます。
使い方はSafariブラウザで引用したいところを選択した状態でサービスメニューから「Get Block Quote Tag」または「Get Inline Quote Tag」を選択すると上記の引用タグに整形されてクリップボードに保存されます。
参考にしたサイト

カテゴリー
Apple Applications Script

SpamSieve: Apple Mail.app 設定

長年愛用している迷惑メール対策ソフト「SpamSieve」が OS X Mavericks 10.9.2 アップデートに伴いアップデートされました。久しぶりに詳細を確認してみるとリモートトレーニングの仕様が変更になっているので新しい仕様に合わせ Apple Mail.app の設定を見直しました。
では、SpamSeive を Apple Mail.app がリモート・スパム・フィルタリングで使えるように設定してみましょう。iCloud アカウント( IMAP )を対象に書いてみます。

  • SpamSieve の Mail プラグインをインストール
  • Apple Mail – Remote Training – SpamSieve AppleScripts」よりスクリプトをダウンロードし、return {"Account 1"}Account 1 をアカウント名称に書き換え ~/Library/Application Scripts/com.apple.mail/apple-mail-remote-training.scpt へ保存します
  • リモート側に「Spam」メールボックス、「TrainGood」メールボックス、「TrainSpam」メールボックスを新規に作成します
  • Apple Mail.app 環境設定で「迷惑メールフィルタ」を無効にする
  • Apple Mail.app 環境設定で「SpamSieve – iCloud」新規ルールの作成
以下の「すべて」の条件に一致した場合:
アカウント:iCloud
すべてのメッセージ
以下の操作を実行:
メッセージを移動:移動先「リモート側の『Spam』メールボックス」
開封済みにする(オプション)
  • Apple Mail.app 環境設定で「Remote Training」新規ルールの作成
以下の「すべて」の条件に一致した場合:
すべてのメッセージ
以下の操作を実行:
AppleScript を実行:apple-mail-remote-training

これで設定は終了です。設定内容を画像で確認してみましょう。

使い方は Mac(ドローン)で行う場合は Mail.app を起動して迷惑メールを見つけたらメッセージメニューから「SpamSieve – スパムとしてトレーニング」を実行します。iPhone では迷惑メールを「TrainSpam」メールボックスへ移動します。次回 Mac(ドローン)の Apple Mail.aap が起動した際に「TrainSpam」メールボックスにあるメッセージは SpamSieve が精査した後「Spam」メールボックスへ移動されます。あくまでも Mac(ドローン)の Apple Mail.app でしか処理されない点に気をつけてください。

カテゴリー
Script

LaunchBar: 便利なスクリプト

愛用している高機能ランチャーLaunchBar 5で便利に使わせてもらっているスクリプト2点を紹介。

Safariで開いているウェブページのタイトルとアドレス情報を取得してMarkdown記法に整形してクリップボードへコピーするスクリプト。

不過視フォルダとなってしまった ~/Library フォルダを表示/非表示に切り替えるスクリプト。

利用は ~/Library/Application Support/LaunchBar/Actions へ適当な名前をつけて保存。

カテゴリー
Script

LaunchBar: iOSアプリの高解像度アイコンを取得する方法

愛用している高機能ランチャ「LaunchBar」アプリを使ってiOSアプリの高解像度アイコンを取得する方法を紹介します。
Instantly grab a high-res icon for any iOS app using LaunchBar | Objective Development Blog
上記リンク先を解説した内容となっています。
では、リンク先より「サービス」ワークフローをダウンロードします。文中にある “ready-to-use-workflow” と書かれたリンク先、またはダイレクトリンクからダウンロードを行います。ファイル名 “Grab iOS Icon.workflow” がダウンロードされるので開きます。すると以下のようなダイアログが表示されるので「インストール」ボタンを押して「サービス」ディレクトリにインストールを行います。所在は “~/Library/Services/Grab iOS Icon.workflow” となります。
インストールダイアログ
これで準備は整いました。LaunchBar を起動して “Grab iOS Icon” を呼び出し、スペースキーを押してテキスト入力フィールドに取得したいアプリ名を入力しましょう。デスクトップに画像がダウンロードされ保存されます。
LaunchBar でうまく呼び出せない場合は「サービス」インデックスルールが有効になっていない可能性があります。環境を見直してください。
「サービス」インデックスルールを有効にするにはインデックス・ウインドウを開き、左サイドバー下にあるプラス(+)記号から Applications => Services より有効にできます。
サービスルールを有効に
ちなみに LaunchBar を使用していない方は、ワークフローアプリケーションを利用することで同様のことができます。

カテゴリー
Script

サービスメニューを有効活用

【コラム】OS X ハッキング! (341) 知られざるSnow Leopard (サービス編) | パソコン | マイコミジャーナル
読んでいると触発されて、よく使う国際標準日時と本日の日付を出力するAutomator書類を作ってみた。アプリケーションを選ばず使えるのはいいね。
国際標準日時と本日の日付 – Automator書類

カテゴリー
Network Script

WPADを使ってみる

This auto-detect feature works through DNS. The browser looks for a host named “wpad” and if it exists, loads its settings by accessing a file named “wpad.dat” via HTTP. To use DNS-based WPAD with Safari on OS X, follow these steps:
– In Safari, choose Safari => Preferences
– Click on the Advanced icon
– Click on the Proxies ? Change Settings button
– In the Configure Proxies dropdown menu, select Using A PAC File
– In the PAC File URL field, enter http://wpad/wpad.dat
– Click on OK
– Click on Apply

(Via macosxhints.com – Use web proxy auto-discovery in Safari)

このWPAD (Web Proxy Auto-Discovery Protocol – Wikipedia)を使ってみることにした。

処理が速くならずともいいので安定して動いてくれたらいい。
追記 (2009-07-16T09:57:54+09:00): 延滞するようになったので使用をやめました。

カテゴリー
Script

キャッシュをまとめて削除

Safari, QuickTime, Flash これらのキャッシュをまとめて削除してくれるアップルスクリプト。ログイン時にキャッシュを削除してくれるスクリプトも付属してます。
ログイン時のキャッシュ削除は、ログイン項目にスクリプトを追加する手順が必要です。
システム環境設定=>アカウント=>ログイン項目
iPurge Safari Caches – AppleScripts by Tom X

カテゴリー
Applications Script

LaunchBarでカレントタイムを表示

LaunchBarでカレントタイムを表示するスクリプト。

カレントタイムを取得したい場面って結構あるので書いてみた。
インストール:
1. 上記ソースをコピー
2. スクリプトエディターを起動して新規ドキュメントへソースをペースト
3. `~/Library/Application Support/LaunchBar/Actions` へ名前をつけて保存
4. LaunchBarを再起動
5. 保存したスクリプトを呼び出しリターンキーを押す
HUDディスプレイに表示されるので、コピー(cmd-C)してクリップボードへ保存。お好きなところへペースト。こんな感じの使い方を想定しています。

カテゴリー
Script

LaunchBarで短縮URLを作成

まずは前準備として、「How to create a TinyURL with LB (incl. paste to clipboard)」を参考に2つのスクリプトファイルを作成します。
1つはPythonスクリプト:

#!/usr/bin/python
from urllib import quote
from sys import argv
if argv[1]:
  print quote(argv[1],'/:')

適当なテキストエディタで、上記ソースを書き入れたドキュメントを作成します。名称を「escapeurl」とし、文字コードはUTF-8で.txt拡張子は付けないようにします。~/bin/escapeurl へ実行権限を付けて保存します。
2つ目はAppleScript:

-- based on http://www.leancrew.com/all-this/2007/11/long-and-shortened-url-scripts/
-- & http://www.leancrew.com/all-this/2009/02/url-shortening-scripts-fixed-i-think/
-- by @drdrang
-- modified by @ptujec (for LaunchBar)
on handle_string(longURL)
   set safeURL to do shell script "~/bin/escapeurl " & "'" & longURL & "'"
   set cmd to "curl 'http://is.gd/api.php?longurl=" & safeURL & "'"
   set shortURL to do shell script cmd
   set the clipboard to shortURL as text
end handle_string

上記ソースをスクリプトエディタで作成して、~/Library/Application Support/LaunchBar/Actions/tinyURL.scpt へ保存します。
LaunchBarのインデックスを再構築して終了です。
使い方は、URLをコピーしてLaunchBarでtinyURLスクリプトを呼び出しスペースバーを押し下げテキストフィールドへURLをペーストしリターンキーを押し下げます。これでクリップボードへ短縮URLが格納されます。

カテゴリー
Script

SafariとWebKit Nightlyの設定ファイルを別々に

Safari と WebKit Nightly は同一の設定ファイルを読み込んで使用しています。この設定ファイルをアプリケーション別に管理する AppleScript が紹介されていました。
Daring Fireball: Writing AppleScripts That Dynamically Target Either Safari or WebKit