用 Ubiquity 打造个 hellotxt
虽然用 hellotxt 可以同步到 plurk、饭否、twitter,但干嘛不用 Ubiquity 来折腾个呢?
尤其是推荐文章的时候超级方便。
先说用法,呼出 Ubiquity,输入“ff [动作] 文字”就可以闪电同步,[动作]部分为 Plurk 所有,可以根据需要输入。输入“ff s”或者“ff share”或者“ff 推”就可以快速分享当前的正在看的页面到三大服务。
为虾米要用 ff 做命令?因为好按,也是分发的首拼音,也好记。不喜欢自己修改代码
复制以下代码,并修改 uid 的值“272105”为你自己的 uid,快速获得自己的 uid:查看自己的头像地址,比如我的:http:
按下呼出 Ubiquity 的快捷键,输入:command-editor,回车。粘贴到 Ubiquity 的命令编辑框里面。Ubiquity 会自动保存,关闭 Ubiquity 的命令编辑界面。哦也。
CmdUtils.CreateCommand({
name: "ff",
takes: {status: noun_arb_text},
homepage: "http://blog.loland.net/2008/09/28/58.et",
author: {name: "sfufoet", homepage: "http://blog.loland.net/"},
license: "MPL",
preview: function(previewBlock, statusText, mods) {
var previewTemplate = '</div><br/>' +
"将要发布到饭否、plurk、twitter 的内容如下: <br/>" +
"<b>${status}</b><br /><br />" +
" 总字数为: <b>${chars}</b>";
var truncateTemplate = "<br />后面 <b>${truncate}</b> " +
"个字将予以删除!";
if(statusText.text=="share" || statusText.text=="s" || statusText.text=="推"){
statusText.text = context.focusedWindow.getSelection()
+ "推荐 " + context.focusedWindow.location +" (" + context.focusedWindow.document.title + ")";
}var previewData = {
status: statusText.text,
chars: statusText.text.length
};
var previewHTML = CmdUtils.renderTemplate(previewTemplate,
previewData);
if(previewData.chars > 140) {
var truncateData = {
truncate: previewData.chars - 140
};
previewHTML += CmdUtils.renderTemplate(truncateTemplate,
truncateData);
}jQuery(".emoticon").click(function(){
var mark= jQuery(this).attr("id");
alert(mark);
});
previewBlock.innerHTML = previewHTML;
},
execute: function(statusText) {
if(statusText.text.length < 1) {
displayMessage("出错:内容不可空白");
return;
}var updateUrl = "http://www.plurk.com/TimeLine/addPlurk";
var updateParams = {
uid: 272105,
qualifier:":",
lang:"cn",
content: statusText.text
};
jQuery.ajax({
type: "POST",
url: updateUrl,
data: updateParams,
dataType: "json",
error: function() {
displayMessage("Plurk 发布错误");
},
success: function() {
displayMessage("Plurk 发布成功");
}
});updateUrl = "http://api.fanfou.com/statuses/update.json";
updateParams = {
source: "fanfou",
status: statusText.text
};
jQuery.ajax({
type: "POST",
url: updateUrl,
data: updateParams,
dataType: "json",
error: function() {
displayMessage("饭否:发布错误");
},
success: function() {
displayMessage("饭否:发布成功");
}
});updateUrl = "https://twitter.com/statuses/update.json";
updateParams = {
source: "Twitter",
status: statusText.text
};
jQuery.ajax({
type: "POST",
url: updateUrl,
data: updateParams,
dataType: "json",
error: function() {
displayMessage("Twitter:发布错误");
},
success: function() {
displayMessage("Twitter:发布成功");
}
});
}
});
说明:发布到 twitter 的时候,会弹出输入用户名和密码的对话框。想同步到其他服务,搜索下吧。后面很相似的代码就是起发布作用的。
火山真奶神人也
一点都没看懂的人掩面跑开...
高科技
e, 我用 vimperator
那个FAVICON的S很炫啊。。。。
NB 两个字
[...] 把以前那个《用 Ubiquity 打造个 hellotxt》下的脚本修改了一下,同步已经没有意义了,封的封,挂的挂。 [...]