Ubiquityでdeliciousにポストするコマンドを作りました。(ワタシがdeliciousユーザなので)
p2dコマンドはdeliciousにポストするUbiquityコマンドです。コマンドラインを立ち上げて、p2dコマンドにタグとコメントの引数を渡します。
注意点として、日本語変換確定のエンターキーでポストされてしまうので、ctrl-mで日本語を確定する必要があります。これはほかのUbiquityコマンドにも同様に言える事だとおもいます。
タグは半角スペースがデリミタ(区切り文字)です。また、@に続けて文言を入力するとコメントになります。また、ページ上で選択されているエリアもコメントになります。多分触ってみればわかるんじゃないかと思います。
Delicious Ubiquity Commandにdeliciousのポストのスクリプトが公開されていましたが、ちょっとコメント(note)も任意に書きたかったのでこれをカスタマイズさせていただいております。
インストールはこちらで、削除は、about:ubiquityの右にSubscribed Feedsというサブスクライブしたスクリプトが一覧になっていますのでhttp://mojalog.com/archive/install.htmlをunsubscribeしてもらえればオーケーです。あとインストール直後はUbiquityがうまく動かない事があるみたいなので、fireFoxを再起動してもらえれば大丈夫っぽいです
CmdUtils.CreateCommand({
name: "p2d",
description: "deliciousにポストします。 タグはスペース区切り。コメントは@で判定します",
icon: "http://delicious.com/favicon.ico",
takes: {"tags & @note": noun_arb_text },
post_params: function( tags ) {
var document = context.focusedWindow.document;
var selected_text = document.getSelection();
var aryBuf = tags.replace( /^\s+|\s+$/g, '' ).split( ' ' );
var tagList = [];
for( var idx = 0; idx < aryBuf.length; idx++ ){
var str = aryBuf[ idx ];
if( str.length == 0 ) continue;
if( str.indexOf( str.match( /^@/ ), 0 ) == 0 ){
selected_text = selected_text + str.replace( /^@/, ' ' );
continue;
}
tagList.push( str );
}
tags = tagList.join( ' ' );
var params = {
url: document.location,
description: document.title,
extended: selected_text,
tags: tags
};
return params;
},
preview: function(pblock, tags) {
var params = this.post_params( tags.text );
html = "タイトル: " + params['description'] + "<br />";
html += "タグ: " + params['tags'] + "<br />";
html += "ノート: " + params['extended'];
pblock.innerHTML = html;
},
execute: function(tags) {
jQuery.ajax({
type: "POST",
dataType: "xml",
url: "https://api.del.icio.us/v1/posts/add",
data: this.post_params(tags.text),
error: function() {
displayMessage("ブクマ失敗しました。。。");
},
success: function(xml) {
var result = jQuery(xml).find("result");
var code = result.attr("code");
if (code == "done") {
displayMessage("ブクマしました。");
} else {
displayMessage("ブクマ失敗しました。。。: " + code);
}
}
});
}
})
