cxxの日記

2008-08-24

[]選択部分のソースをquoteする 19:09 はてなブックマーク - 選択部分のソースをquoteする - cxxの日記

Tomblooでquoteするときにリンクなどをそのまま残したい場合に使います(ただし、余計なものも混ざってしまいます)。拡張子jsのファイルに保存して、Firefoxのプロファイルフォルダの中にあるtombloo/scriptフォルダに置きます。

Tombloo.Service.extractors.register(
  {
    name : 'Quote - Selection Source',
    ICON : 'chrome://tombloo/skin/quote.png',
    check : function(ctx){
      return ctx.selection;
    },
    extract : function(ctx){
      var docFragment = ctx.window.getSelection().getRangeAt(0).cloneContents();
      var elem = ctx.document.createElement('div');
      elem.appendChild(docFragment);
      $x('.//a[@href]', elem, true).forEach(function(l){l.href = l.href;});
      return {
        type    : 'quote',
        item    : ctx.title,
        itemUrl : ctx.href,
        body    : elem.innerHTML.trim(),
      };
    },
  }
);

2008-08-26 03:29

相対URIを絶対URIに置き換える(TomblooのQuote - Twitterから)

2008-08-26 00:06

ちゃんと調べたらRange.cloneContents()を使った方がよかったので書き直した