Movable Type 4 標準の「クイックポスト」 ブックマークレットを変更する

これまで使っていた投稿用ブックマークレットは使えなくなり、そしてMovable Type 4 標準の「クイックポスト」 ブックマークレットは、標準のままではちょっと使いづらかったので変更してみた。といってもあまりたいしたことはないのだけど、やはりこれがないと不便なので。
ブックマークレットを使用したページのタイトルとアドレスを以下のような感じで本文に自動的に入れてくれます。また、選択している部分のテキストをblockquote で囲んでくれます。


<ul>
<li><a title="リニューアルしました | alectrope" target="_blank">/mt/archives/2008/02/14/server_renewal</a><br />リニューアルしました | alectrope</li>
</ul>
<blockquote>年末ぐらいから本格的に細々とサーバ入れ替え作業を進めていたのですが、ある程度目処が付いたのでサーバ入れ替えと同時にMT4 にアップグレード(実質新規インストールですが) しました。詳細はまた改めて。</blockquote>

標準のブックマークレットはこういう感じ。


javascript:d=document;w=window;t='';if(d.selection)t=d.selection.createRange().text;else{if(d.getSelection)t=d.getSelection();else{if(w.getSelection)t=w.getSelection()}}void(w.open('「mt.cgiまでのパス」?__mode=view&_type=entry&blog_id=1&qp=1&title='+encodeURIComponent(d.title)+'&text='+encodeURIComponent(d.location.href)+encodeURIComponent('<br/><br/>')+encodeURIComponent(t),'_blank','scrollbars=yes,status=yes,resizable=yes,location=yes'))

前半部分、「...~&qp=1」 までを流用します。


javascript:d=document;w=window;t='';if(d.selection)t=d.selection.createRange().text;else{if(d.getSelection)t=d.getSelection();else{if(w.getSelection)t=w.getSelection()}}void(w.open('「mt.cgiまでのパス」?__mode=view&_type=entry&blog_id=1&qp=1

「&title=~...」 以降を以下のものに置き換えます。


&text='+encodeURIComponent('<ul>\n<li><a title="')+encodeURIComponent(d.title)+encodeURIComponent('" target="_blank">')+encodeURIComponent(d.location.href.replace(/(\?|&)(ref|from|f)=(rss.*|atom)/,''))+encodeURIComponent('</a><br />')+encodeURIComponent(d.title)+encodeURIComponent('</li>\n</ul>\n<blockquote>')+encodeURIComponent(t)+encodeURIComponent('</blockquote>\n\n'),'_blank',''));

Windows XP SP2 + Firefox 2.0.0.12 で動作確認しています。
テキストを選択していない場合でもblockquote タグが表示されるのがちょっと余計な感じですが、とりあえずはこれで。
そうそう、URL の末尾に「?from=rss」 みたいなのが付いている場合は自動的にそれを消すようにしてたりしてます。