快速分享网页到 Twitter 的 ubiquity 命令

July 26th, 2009 at 10:00 am

把以前那个《用 Ubiquity 打造个 hellotxt》下的脚本修改了一下,同步已经没有意义了,封的封,挂的挂。

注意:此命令很可能不支持最新那个 0.5 版的 ubiquity。

命令参数:tw s 和 tw r。自己测试一下就知道啥东东了。需要更多参数请自行定义。

CmdUtils.CreateCommand({
      name: "tw",
      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/>' +
                              "将要发布到 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 = context.focusedWindow.getSelection()
     + "分享:" + context.focusedWindow.document.title +" (" + context.focusedWindow.location + ")";
        }
        
        if(statusText.text=="Reading" || statusText.text=="r"){
          statusText.text = context.focusedWindow.getSelection()
     + "Reading:" + context.focusedWindow.document.title +" (" + context.focusedWindow.location + ")";
        }

        
        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;
        }

        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:发布成功");
          }
        });
      }
    });

4 Responses

  1. 你好,秒杀U盘这个AHK脚本在windows 7 下不能用了,请问能改进一下么?http://www.appinn.com/ahk-fast-food-restaurant-17-unplug-all-usb-device/

    Shoegazer - July 26th, 2009 at 11:43 am Notify
  2. 怎么用哦

    zozoozo - July 31st, 2009 at 8:50 am Notify
  3. @zozoozo: 安装 firefox 和 ubiquity 这个扩展。

    sfufoet - July 31st, 2009 at 9:08 am Notify
  4. 郁闷,我用的正是0.5.1

    VT - August 7th, 2009 at 1:06 am Notify

Leave a Reply