每日三折腾 - 用 Ubiquity 快速发布到 plurk

September 27th, 2008 at 2:58 pm

瓦咔咔,太赞了。分享给用 plurk 的好友们!

实现效果,按下 Ubiquity 快捷键,输入“plurk [动作] 文字”就可以闪电发布到 plurk 啦,[动作]可以省略。更加神奇的是,可以快速推荐正在看的文章,命令是“plurk s”或者“plurk share”或者“plurk 推”!当然要先登录自己的 plurk 哦。

安装设置 Ubiquity 的加教程请看 xbeta 的文章。然后,按下呼出 Ubiquity 的快捷键,输入:command-editor,回车。

复制以下代码,并修改 uid 的值“272105”为你自己的 uid,快速获得自己的 uid:查看自己的头像地址,比如我的:http://avatars.plurk.com/272105-small.gif,那串数字就是你的 uid。

CmdUtils.CreateCommand({
  name: "plurk",
  takes: {status: noun_arb_text},
  homepage: "http://theunfocused.net/moz/ubiquity/verbs/",
  author: {name: "Blair McBride", homepage: "http://theunfocused.net/"},
  modifier: {name: "Forte Lin"},
  license: "MPL",
 
  preview: function(previewBlock, statusText, mods) {
    var previewTemplate = '</div><br/>' +
                          "将要发布的内容如下: <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("Plurk 内容不可空白");
      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 发布成功");
      }
    });
  }
});

复制完毕之后,粘贴到 Ubiquity 的命令编辑框里面。Ubiquity 会自动保存,关闭 Ubiquity 的命令编辑界面。哦也。

打算折腾个 Ubiquity 版本的 hellotxt(私用),自动同步到 fanfou、twitter 和 plurk 这三个我常用的咔咔。

via [1] [2]

5 Responses

  1. 沙发也很累的啊

    Paveo - September 27th, 2008 at 3:02 pm Notify
  2. 是你自愿的,爱沙不沙随便。

    sfufoet - September 27th, 2008 at 3:04 pm Notify
  3. 牛!!!!

    Dofy - September 27th, 2008 at 3:15 pm Notify
  4. 哎呀,太晚看到了,我已經修改完了... :-(

    不過我修改的版本是可以指定Plurk的任何一個qualifier哦,例如:plurk loves Watching 台灣豆瓣。
    如果要把選取文字直接帶入,則可以用plurk loves this的格式(this會填入選取文字內容)

    emisjerry - September 27th, 2008 at 3:36 pm Notify
  5. 嗯,那个hellotxt的能不能分享下啊

    maoz - September 27th, 2008 at 5:13 pm Notify

Leave a Reply