Webと言語を結びつけてユーザーがもっと早く簡単に一般的なWebタスクを実行できるようにする、実験的なブラウザプラグインというものらしいです。手軽にマッシュアップができるとか書かれていますが、難しいことはさておき、まあ、コマンドを実行するためのもので、コマンドはJavaScriptで書きます。とりあえず、helpと打つとヘルプがでるし、command-listと入力するとコマンドの一覧がでます。command-editorと打つと自分でコマンドを作成するためのウィンドウがたちあがります。と言っても単なるテキストエリアがあるページが出るだけですが…。ただし、入力したそばから保存してくれるので、明示的に保存しなくてもいいし、自分で入力したものはすぐに使えます。
コマンドの作り方は、「Creating Command Tutorial」に書かれていますがAPIがよく分かりません。サンプルのコードをざっと眺めますが、とっても簡単そうです。でも、APIは・・・。
さて、僕が作りたいというか、欲しい機能が簡単にTracのチケットを開いたり、チケットを作成できたりすればいいだけなので、特定のURLが開くだけの単純なものでいいのです。コードだけを書いちゃうとこんな感じ。
CmdUtils.CreateCommand({
name: "ticket",
takes: {"Ticket Number": noun_arb_text},
execute: function(ticket_no) {
openUrl("http://私のTracサーバ/ticket/" + ticket_no.text);
}
})
別の書き方もできますが、小さな脳みそでは一度に沢山は覚えられません。
CmdUitls.CreateCommandでコマンドが作れます。引数にハッシュを指定して名前とか実行する関数とかを定義していきます。JavaScriptじゃよくあるやつですね。nameはコマンドの名前になります。executeで実行したい処理を書きます。openUrlは指定したURLを開いてくれます。openUrlInBrowserという人もいるみたいです。takesを指定するとコマンドに引数を指定できます。でも、translateとかのコマンドを見ると、引数にもっといろいろ指定できるようです。
簡単でしょ!
もっと詳しいことはそのうち書くかもしれませんが、忘れるかもしれません。
追記
ubuquity 0.1.1にしたらopenUrlじゃなくってUtils.openUrlInBrowserにしないと動かない。
0 コメント:
コメントを投稿