GetTweetAsHtml を拡張する #MyScripts 用スクリプト

このエントリーをはてなブックマークに追加 Pocket

MyScripts の作者、 @unitkay さんが昨晩(日付変わっていますが)、以下のようにつぶやかれていました。

MyScripts&GetTweetAsHtmlの応用技。で登録。
#IMPORT XMLHttpRequest
#IMPORT GetTweetAsHTML
"draftpad:///insert?after="+encodeURIComponent(html); 2012-02-24 00:13 via Twitter for iPhone

iOS でないと絵文字が表示できないので補足しますと、openurl で登録です。

ツイートのアドレスをコピーしてMyScriptsの通知をタップするとDraftPadが起動してツイートのHTMLが自動で貼り付けられます。連続してコピーすれば、通知センターに蓄積することも可能。 2012-02-24 00:17 via Twitter for iPhone

なるほど!
IMPORT したスクリプトの結果を元に URL を生成して openURL すれば 処理の本体と出力先を別々にできるので、 コードを重複させずに出力先のバリエーションを増やすことができますね。
例えば結果を Textforce に送るスクリプトも簡単に作れます。

ということで、GetTweetAsHtml を呼び出して、結果を DraftPad に挿入するスクリプトを作りました。
上記ツイートのスクリプトと同じことをするものですが、 たまたま作っていた DraftPad の URLスキームを生成するライブラリを使用する形にしています。

以下のリンクを iPhone または iPad でタップして保存してください。

追記

ごめんなさい。忘れていました。 @unitkay さんに指摘されて思い出しました。 @unitkay さんありがとうございますm(_ _)m

@toshiya240 私のスクリプトがまずかったのですが、下記のルートに行くと空の文字列でDraftPadを起動してしまいますね。空文字列チェックが必要かも。 if (!tid) { alert("ツイートのURLを指定してください。"); ""; } 2012-02-24 21:58 via Tweetbot for iOS

最近の MyScripts のバージョンアップでスクリプトからアクションを変更できるようになったので、 ツイートの URL であると認識できなかった場合はエラーメッセージを表示して停止するように GetTweetAsHtml を修正しました。 スクリプトをインストールするリンクを追記します。 XMLHttpRequest も再掲します。

追記終わり

DraftPad.js は、 DraftPad の URL スキームを知らなくても、 MyScripts から DraftPad に連携できるようにするために作りました。
(というか、本当は私が覚えていられないので作りました。)

DraftPad.js について以下に説明します。
スクリプト内に同じ内容を記載していますので、 忘れてしまったらスクリプトの中身を見ればおkです。

最後の pboard 指定は、名前付きペーストボードを扱えるアプリを知らないのでテストしていません(^o^;

DraftPad の URL スキームを用いた連携

いずれかの関数を呼び出すと DraftPad の URL が返却される。
MyScripts のスクリプトの種類を openURL として、 スクリプトの最後に関数を呼び出す。

基本

  • DraftPad を起動
    DraftPad.launch();
  • テキストを既存のテキストの前に追加
    DraftPad.prepend('foo');
  • テキストを既存のテキストの後に追加
    DraftPad.append('bar');
  • 指定したテキストで既存のテキストを置換
    DraftPad.replaceWith('baz');

for DraftPad v1.3+

  • クリップボードのテキストで既存のテキストを置換
    DraftPad.replaceWithPboard();
  • クリップボードのテキストを既存のテキストの前に貼付ける
    DraftPad.pasteBefore();
  • クリップボードのテキストを既存のテキストの前に貼付ける
    DraftPad.paste();
Pasteboard 関連メソッドの引数指定
  • 普通に貼付け
    DraftPad.paste();
  • prefix 指定
    DraftPad.paste({prefix: 'Hello my'});
  • suffix 指定
    DraftPad.paste({suffix: ', Lucy.'});
    DraftPad.paste({prefix: 'Hello my', suffix: ', Lucy.'});
  • pboard 指定
    DraftPad.paste({pboard: 'named pasteboard'});

MyScripts 1.2 (¥350)App
カテゴリ: 仕事効率化, ユーティリティ
販売元: Unit Kay - Takeyoshi Nakayama(サイズ: 0.7 MB)
全てのバージョンの評価: (6件の評価)
+ iPhone/iPadの両方に対応

DraftPad 1.5.2 (無料)App
カテゴリ: 仕事効率化, ユーティリティ
販売元: Manabu Ueno - Manabu Ueno(サイズ: 3.2 MB)
全てのバージョンの評価: (383件の評価)

関連記事

0 コメント: