<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns="http://purl.org/rss/1.0/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel rdf:about="https://let.hatelabo.jp/md2tak/rss">
    <link>https://let.hatelabo.jp/md2tak/rss</link>
    <description></description>
    <title>Bookmarklets from md2tak</title>
    <items>
      <rdf:Seq>
        <rdf:li rdf:resource="https://let.hatelabo.jp/md2tak/let/gYC-yJfBuNylGg"/>
        <rdf:li rdf:resource="https://let.hatelabo.jp/md2tak/let/gYC-xJj6vuvaFQ"/>
        <rdf:li rdf:resource="https://let.hatelabo.jp/md2tak/let/gYC-yJjL0uqqGw"/>
        <rdf:li rdf:resource="https://let.hatelabo.jp/md2tak/let/gYC-xJf_6cr8bA"/>
        <rdf:li rdf:resource="https://let.hatelabo.jp/md2tak/let/gYC-xIuZt6yOAg"/>
        <rdf:li rdf:resource="https://let.hatelabo.jp/md2tak/let/gYC-yIrfoaDSDA"/>
        <rdf:li rdf:resource="https://let.hatelabo.jp/md2tak/let/gYC-yIeDjL2dUQ"/>
        <rdf:li rdf:resource="https://let.hatelabo.jp/md2tak/let/gYC-yIXAw4aOGA"/>
        <rdf:li rdf:resource="https://let.hatelabo.jp/md2tak/let/gYC-xIOLq4bdWA"/>
        <rdf:li rdf:resource="https://let.hatelabo.jp/md2tak/let/gYC-xIO_hL70Dg"/>
        <rdf:li rdf:resource="https://let.hatelabo.jp/md2tak/let/gYC-yIO--PqnXQ"/>
      </rdf:Seq>
    </items>
  </channel>
  <item rdf:about="https://let.hatelabo.jp/md2tak/let/gYC-yJfBuNylGg">
    <link>https://let.hatelabo.jp/md2tak/let/gYC-yJfBuNylGg</link>
    <dc:date>2011-06-28T11:34:57Z</dc:date>
    <description>Chrome/GreaseMonkeyで使用してください。増減を気にしたくない人用　followersページの「nユーザーにフォローされています」は普通に表示される</description>
    <dc:creator>md2tak</dc:creator>
    <title>[Let] Twitterでフォロアー数を非表示にする</title>
    <content:encoded>&lt;a href="javascript:%22https%3A%2F%2Flet.st-hatelabo.com%2Fmd2tak%2Flet%2FgYC-yJfBuNylGg.bookmarklet.js%20%28arg%29%22.replace%28%2F%28%5CS%2B%29%5Cs%2B%28%5CS%2A%29%2F%2Cfunction%28s%2Curl%2Carg%29%7Bs%3Ddocument.createElement%28%22script%22%29%3Bs.charset%3D%22utf-8%22%3Bs.src%3Durl%2B%22%3Fs%3D%22%2BencodeURIComponent%28arg%29%3Bdocument.body.appendChild%28s%29%7D%29%3Bvoid%280%29%3B"&gt;Twitterでフォロアー数を非表示にする&lt;/a&gt;&lt;pre&gt;/*
 * @title Twitterでフォロアー数を非表示にする
 * @description Chrome/GreaseMonkeyで使用してください。増減を気にしたくない人用　followersページの「nユーザーにフォローされています」は普通に表示される
 * @include http://twitter.com/*
 * @license MIT License
 * @require 
 */

// 2011/06/28 二つ目がうまく適用できていなかったのを修正

var el = document.createElement('style');
document.body.appendChild(el);
el.sheet.insertRule('div.new-followers-activity span.user-stat-link { display:none; }',0);
var uid = document.getElementById('screen-name').innerHTML.replace(/[\r\n\s]/g, '');
el.sheet.insertRule('ul.user-stats a[href=&amp;quot;/#!/' + uid + '/followers&amp;quot;].user-stats-count { display:none; }',0);&lt;/pre&gt;</content:encoded>
  </item>
  <item rdf:about="https://let.hatelabo.jp/md2tak/let/gYC-xJj6vuvaFQ">
    <link>https://let.hatelabo.jp/md2tak/let/gYC-xJj6vuvaFQ</link>
    <dc:date>2011-06-25T16:48:39Z</dc:date>
    <description>インストールしてからhiddenDomainsの値を編集して使う</description>
    <dc:creator>md2tak</dc:creator>
    <title>[Let] 特定のドメインをはてブで表示させないスクリプト</title>
    <content:encoded>&lt;a href="javascript:%22https%3A%2F%2Flet.st-hatelabo.com%2Fmd2tak%2Flet%2FgYC-xJj6vuvaFQ.bookmarklet.js%20%28arg%29%22.replace%28%2F%28%5CS%2B%29%5Cs%2B%28%5CS%2A%29%2F%2Cfunction%28s%2Curl%2Carg%29%7Bs%3Ddocument.createElement%28%22script%22%29%3Bs.charset%3D%22utf-8%22%3Bs.src%3Durl%2B%22%3Fs%3D%22%2BencodeURIComponent%28arg%29%3Bdocument.body.appendChild%28s%29%7D%29%3Bvoid%280%29%3B"&gt;特定のドメインをはてブで表示させないスクリプト&lt;/a&gt;&lt;pre&gt;/*
 * @title 特定のドメインをはてブで表示させないスクリプト
 * @description インストールしてからhiddenDomainsの値を編集して使う
 * @include http://b.hatena.ne.jp/*
 * @license MIT License
 * @require http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.js
 */

var hiddenDomains = ''; // ex) example.com|hoge.net|userid

hiddenDomains = hiddenDomains.split('|');

var removeDomain = function () {
    for (var i = 0; i &amp;lt; hiddenDomains.length; i++) {
        var d = hiddenDomains[i];
        if (d.indexOf('.') == -1 &amp;amp;&amp;amp; d.indexOf(':') == -1) {
            d = 'd:id:' + d;
        }
        $('a.domain:contains(&amp;quot;' + d + '&amp;quot;)').parent().parent().remove();
    }
};
  
removeDomain(); // 初回  

//　dom変更時
var W = (typeof window == 'undefined') ? unsafeWindow : window;
var kicked = false;
W.addEventListener(&amp;quot;DOMSubtreeModified&amp;quot;, function(e) {  
    if (kicked) return;
    kicked = true;
    setTimeout(function () { removeDomain(); kicked = false; }, 100);
}, false);&lt;/pre&gt;</content:encoded>
  </item>
  <item rdf:about="https://let.hatelabo.jp/md2tak/let/gYC-yJjL0uqqGw">
    <link>https://let.hatelabo.jp/md2tak/let/gYC-yJjL0uqqGw</link>
    <dc:date>2011-06-25T03:03:46Z</dc:date>
    <description>指定したユーザのスターを非表示にする</description>
    <dc:creator>md2tak</dc:creator>
    <title>[Let] 指定したユーザのスターを非表示にするスクリプト</title>
    <content:encoded>&lt;a href="javascript:%22https%3A%2F%2Flet.st-hatelabo.com%2Fmd2tak%2Flet%2FgYC-yJjL0uqqGw.bookmarklet.js%20%28arg%29%22.replace%28%2F%28%5CS%2B%29%5Cs%2B%28%5CS%2A%29%2F%2Cfunction%28s%2Curl%2Carg%29%7Bs%3Ddocument.createElement%28%22script%22%29%3Bs.charset%3D%22utf-8%22%3Bs.src%3Durl%2B%22%3Fs%3D%22%2BencodeURIComponent%28arg%29%3Bdocument.body.appendChild%28s%29%7D%29%3Bvoid%280%29%3B"&gt;指定したユーザのスターを非表示にするスクリプト&lt;/a&gt;&lt;pre&gt;/*
 * @title 指定したユーザのスターを非表示にするスクリプト
 * @description 指定したユーザのスターを非表示にする
 * @include http://b.hatena.ne.jp/*
 * @license MIT License
 * @require 
 */

var userList = ''; // foo|bar|hoge // 左のように指定する
userList = userList.split('|');
var el = document.createElement('style');
document.body.appendChild(el);
for (var i = 0; i &amp;lt; userList.length; i++) el.sheet.insertRule('img[alt=' + userList[i] + '].hatena-star-star { display: none; }', 0);&lt;/pre&gt;</content:encoded>
  </item>
  <item rdf:about="https://let.hatelabo.jp/md2tak/let/gYC-xJf_6cr8bA">
    <link>https://let.hatelabo.jp/md2tak/let/gYC-xJf_6cr8bA</link>
    <dc:date>2011-06-24T04:51:39Z</dc:date>
    <description>過去の記事一覧画面をカテゴリーで絞った状態でブックマークレットとして使うと起動します。(2011/06/24 動作確認)</description>
    <dc:creator>md2tak</dc:creator>
    <title>[Let] はてなダイアリーのカテゴリー一括変更レット</title>
    <content:encoded>&lt;a href="javascript:%22https%3A%2F%2Flet.st-hatelabo.com%2Fmd2tak%2Flet%2FgYC-xJf_6cr8bA.bookmarklet.js%20%28arg%29%22.replace%28%2F%28%5CS%2B%29%5Cs%2B%28%5CS%2A%29%2F%2Cfunction%28s%2Curl%2Carg%29%7Bs%3Ddocument.createElement%28%22script%22%29%3Bs.charset%3D%22utf-8%22%3Bs.src%3Durl%2B%22%3Fs%3D%22%2BencodeURIComponent%28arg%29%3Bdocument.body.appendChild%28s%29%7D%29%3Bvoid%280%29%3B"&gt;はてなダイアリーのカテゴリー一括変更レット&lt;/a&gt;&lt;pre&gt;/*
 * @title はてなダイアリーのカテゴリー一括変更レット
 * @description 過去の記事一覧画面をカテゴリーで絞った状態でブックマークレットとして使うと起動します。(2011/06/24 動作確認)
 * @include http://d.hatena.ne.jp/*
 * @license MIT License
 * @require jQuery
 */

if (location.href.indexOf('archive?mode=edit&amp;amp;word=') == -1) {
    alert('はてなダイアリーの過去の記事画面で実行してください。');
    return;
}

if ($('select[name=word]').val() == '') {
    alert('カテゴリーを指定してください。');
    return;
}

var readme = '\
-===　注意事項 ===-\n\
必ずデータのバックアップを事前に取った上で実行してください。\n\
動作確認は行っていますが万一データの破損・消去が行われた場合の責任は負いかねます。\n\
以上をご了承頂いた上でご利用ください。\n\
';

if (!confirm(readme)) return;

var oldCat = $('div#main-inner select[name=word] option:selected').text();
var newCat = prompt('新しいカテゴリー名を入力してください。', oldCat);

var isValid = false;
(function () {
    if (newCat == null) return alert('空文字は指定できません。');
    if (newCat == oldCat) return alert('同じ値は指定できません。');
    if (newCat.match(/[\[\]]/)) return alert('[]を含めないでください。');
    if (!confirm(oldCat + ' -&amp;gt; ' + newCat + '　にカテゴリーを更新します。\よろしいですか？')) return;
    isValid = true;
})();
if (!isValid) { alert('終了します。再度実行してください。'); return; }

alert('処理を開始します。完了メッセージが出るまでお待ちください。');

var editLinks = $('table.table-list td.line-right a:contains(&amp;quot;編集&amp;quot;)'); // 記事編集リンクの取得

// iframe の準備
var ifr = document.createElement('iframe');
//ifr.style.display = 'none'; // 非表示だとfirefoxがsubmitしてくれない・・・
ifr.width = ifr.height = 0; // ｺｿｰﾘ
document.body.appendChild(ifr);

// busyフラグ
var isBusy = false;

// 更新処理
var updateCat = function(link) {
    ifr.src = link.href;
    ifr.onload = function () {
        var iDoc = ifr.contentDocument;
        var entryBody = $('textarea[name=body]', iDoc);
        var b = entryBody.val();
        var b = b.replace(/^\*.*?\*(\[.+?\])+/mg, function (p) {
            return p.replace(/\[(.+?)\]/g, function(cat, catName) {
                if (catName == oldCat) cat = '[' + newCat + ']';
	        return cat;
            });
        });
        entryBody.val(b);
        $('div#main-inner form[name=edit] input[name=trivial]', iDoc)
            .attr('checked', true); // ちょっとした更新
　　　　　$($('div#main-inner form[name=edit] input[type=submit][name=edit]',
            iDoc).get(0)).trigger('click'); 
        ifr.onload = function () { isBusy = false; };
    };
};

// 終了時
var finished = function() {
    alert('カテゴリーの更新が完了しました。ページを更新して確認してください。\n\
複数ページにわたっている場合は再度実行してください。\n\
また設定&amp;gt;編集設定のカテゴリー情報は更新しませんので、必要に応じて手動で編集してください。\n');
};

// ループ処理
var i = 0;
var timer = setInterval(function() {
    if (!isBusy) {
        isBusy = true;

        // 終了チェック
        if (i == editLinks.length) { clearInterval(timer); finished(); return; }
        updateCat(editLinks[i++]);
    }
}, 500);&lt;/pre&gt;</content:encoded>
  </item>
  <item rdf:about="https://let.hatelabo.jp/md2tak/let/gYC-xIuZt6yOAg">
    <link>https://let.hatelabo.jp/md2tak/let/gYC-xIuZt6yOAg</link>
    <dc:date>2011-06-04T07:38:40Z</dc:date>
    <description>これで車輪の再発明を防げる？</description>
    <dc:creator>md2tak</dc:creator>
    <title>[Let] Hatena::Letにサイト内検索を追加</title>
    <content:encoded>&lt;a href="javascript:%22https%3A%2F%2Flet.st-hatelabo.com%2Fmd2tak%2Flet%2FgYC-xIuZt6yOAg.bookmarklet.js%20%28arg%29%22.replace%28%2F%28%5CS%2B%29%5Cs%2B%28%5CS%2A%29%2F%2Cfunction%28s%2Curl%2Carg%29%7Bs%3Ddocument.createElement%28%22script%22%29%3Bs.charset%3D%22utf-8%22%3Bs.src%3Durl%2B%22%3Fs%3D%22%2BencodeURIComponent%28arg%29%3Bdocument.body.appendChild%28s%29%7D%29%3Bvoid%280%29%3B"&gt;Hatena::Letにサイト内検索を追加&lt;/a&gt;&lt;pre&gt;/*
 * @title Hatena::Letにサイト内検索を追加
 * @description これで車輪の再発明を防げる？
 * @include http://let.hatelabo.jp/*
 * @license MIT License
 * @require 
 */

var frm = '\
&amp;lt;!-- SiteSearch Google --&amp;gt; \
&amp;lt;form method=get action=&amp;quot;http://www.google.co.jp/search&amp;quot; target=&amp;quot;_blank&amp;quot; style=&amp;quot;display:inline&amp;quot;&amp;gt; \
&amp;lt;a href=&amp;quot;http://www.google.co.jp/&amp;quot;&amp;gt; \
&amp;lt;img src=&amp;quot;http://www.google.com/logos/Logo_40wht.gif&amp;quot;  \
border=&amp;quot;0&amp;quot; alt=&amp;quot;Google&amp;quot; align=&amp;quot;absmiddle&amp;quot; style=&amp;quot;height:30px;&amp;quot;&amp;gt;&amp;lt;/a&amp;gt; \
&amp;lt;input type=text name=q size=31 maxlength=255 value=&amp;quot;&amp;quot;&amp;gt; \
&amp;lt;input type=hidden name=ie value=UTF-8&amp;gt; \
&amp;lt;input type=hidden name=oe value=UTF-8&amp;gt; \
&amp;lt;input type=hidden name=hl value=&amp;quot;ja&amp;quot;&amp;gt; \
&amp;lt;input type=submit name=btnG value=&amp;quot;Google 検索&amp;quot;&amp;gt; \
&amp;lt;font size=-1&amp;gt; \
&amp;lt;input type=hidden name=domains value=&amp;quot;YOURSITE.CO.JP&amp;quot;&amp;gt; \
&amp;lt;input type=hidden name=sitesearch value=&amp;quot;YOURSITE.CO.JP&amp;quot;&amp;gt; \
&amp;lt;/font&amp;gt; \
&amp;lt;/form&amp;gt; \
&amp;lt;!-- SiteSearch Google --&amp;gt; \
';

var yoursiteAddr = 'let.hatelabo.jp';

var myFrm = frm.replace(/YOURSITE.CO.JP/g, yoursiteAddr);

var logoEl = document.getElementById('logo');
logoEl.innerHTML += myFrm;&lt;/pre&gt;</content:encoded>
  </item>
  <item rdf:about="https://let.hatelabo.jp/md2tak/let/gYC-yIrfoaDSDA">
    <link>https://let.hatelabo.jp/md2tak/let/gYC-yIrfoaDSDA</link>
    <dc:date>2011-06-03T18:39:22Z</dc:date>
    <description>はてダのタイトル横に[So]ボタンが表示されるので、クリック</description>
    <dc:creator>md2tak</dc:creator>
    <title>[Let] はてなダイアリー用ソーシャルボタン取得ボタン</title>
    <content:encoded>&lt;a href="javascript:%22https%3A%2F%2Flet.st-hatelabo.com%2Fmd2tak%2Flet%2FgYC-yIrfoaDSDA.bookmarklet.js%20%28arg%29%22.replace%28%2F%28%5CS%2B%29%5Cs%2B%28%5CS%2A%29%2F%2Cfunction%28s%2Curl%2Carg%29%7Bs%3Ddocument.createElement%28%22script%22%29%3Bs.charset%3D%22utf-8%22%3Bs.src%3Durl%2B%22%3Fs%3D%22%2BencodeURIComponent%28arg%29%3Bdocument.body.appendChild%28s%29%7D%29%3Bvoid%280%29%3B"&gt;はてなダイアリー用ソーシャルボタン取得ボタン&lt;/a&gt;&lt;pre&gt;/*
 * @title はてなダイアリー用ソーシャルボタン取得ボタン
 * @description はてダのタイトル横に[So]ボタンが表示されるので、クリック
 * @include http://d.hatena.ne.jp/*
 * @license MIT License
 * @require 
 */

var W = (typeof unsafeWindow == 'undefined') ? window: unsafeWindow; var $ = W.jQuery;

$(function(){
if (W.Hatena.Diary.Visitor != W.Hatena.Diary.Author) return; // 自分のブログだけ
var hatenaDiaryUrl = 'http://d.hatena.ne.jp';

var snipet = '&amp;lt;script src=&amp;quot;http://www.gmodules.com/ig/ifr?url=http://hosting.gmodules.com/ig/gadgets/file/117235118142641260238/hatena-diary-social-buttons.xml&amp;amp;amp;up_articleUrl=$articleUrl$&amp;amp;amp;up_articleTitle=$articleTitle$&amp;amp;amp;up_backgroundColor=%23FFFFFF&amp;amp;amp;up_mixiServiceKey=$mixiServiceKey$&amp;amp;amp;synd=open&amp;amp;amp;w=500&amp;amp;amp;h=21&amp;amp;amp;title=hatena-diary-social-buttons&amp;amp;amp;border=%23ffffff%7C3px%2C1px+solid+%23999999&amp;amp;amp;output=js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;';

var popupSnipet = function () {
    var lnk = $('a:first', $(this).parent());
    var res = snipet;
    var vars = {
        articleUrl: hatenaDiaryUrl + lnk.attr('href'),
        articleTitle: lnk.html(),
        mixiServiceKey: ''
    }

    for (var k in vars) {
        var v = encodeURIComponent(vars[k]);
        res = res.replace(new RegExp('\\$' + k + '\\$', 'g'), v);
    }

    prompt('本文にコピペしてください', res);
}

var sections = $('div.body div.section');
for (var i = 0; i &amp;lt; sections.length; i++) {
    var lnk = $('a:first', sections[i]);
    var btn = $('&amp;lt;input type=button value=&amp;quot;So&amp;quot; /&amp;gt;').click(popupSnipet);
    var slnk = lnk.clone().html('[So]');
    lnk.after(btn);
}

});&lt;/pre&gt;</content:encoded>
  </item>
  <item rdf:about="https://let.hatelabo.jp/md2tak/let/gYC-yIeDjL2dUQ">
    <link>https://let.hatelabo.jp/md2tak/let/gYC-yIeDjL2dUQ</link>
    <dc:date>2011-06-03T17:06:41Z</dc:date>
    <description>Chrome/GreaseMonkeyで使用してください。スクロールすれどエントリが終わらない時にイライラしてくる人用。</description>
    <dc:creator>md2tak</dc:creator>
    <title>[Let] はてなダイアリー字数カウント</title>
    <content:encoded>&lt;a href="javascript:%22https%3A%2F%2Flet.st-hatelabo.com%2Fmd2tak%2Flet%2FgYC-yIeDjL2dUQ.bookmarklet.js%20%28arg%29%22.replace%28%2F%28%5CS%2B%29%5Cs%2B%28%5CS%2A%29%2F%2Cfunction%28s%2Curl%2Carg%29%7Bs%3Ddocument.createElement%28%22script%22%29%3Bs.charset%3D%22utf-8%22%3Bs.src%3Durl%2B%22%3Fs%3D%22%2BencodeURIComponent%28arg%29%3Bdocument.body.appendChild%28s%29%7D%29%3Bvoid%280%29%3B"&gt;はてなダイアリー字数カウント&lt;/a&gt;&lt;pre&gt;/*
 * @title はてなダイアリー字数カウント
 * @description Chrome/GreaseMonkeyで使用してください。スクロールすれどエントリが終わらない時にイライラしてくる人用。
 * @include http://d.hatena.ne.jp/*
 * @license MIT License
 * @require 
 */

// 2011-06-03 ブックマークレットでもいけるように修正。スタイル指定も削除するように修正。
// 2011-06-03 はてダのjQueryを利用するように修正

var $ = (typeof unsafeWindow == 'undefined') ? jQuery : unsafeWindow.jQuery;

var sections = $('div.body div.section');
for (var i = 0; i &amp;lt; sections.length; i++) {
  var sec = sections[i];
  var str = $(sec).html().replace(/&amp;lt;style.*?&amp;lt;\/style&amp;gt;/gm, '').replace(/\&amp;lt;.*?\&amp;gt;/gm,'').replace(/(\t|\s|\r|\n)*/gm, '');
  var cnt = str.length;
  cnt = cnt + '';
  var htm = '&amp;lt;b&amp;gt; [' + cnt + '文字]&amp;lt;/b&amp;gt;';
  $($('a', sec)[0]).after(htm);
}

&lt;/pre&gt;</content:encoded>
  </item>
  <item rdf:about="https://let.hatelabo.jp/md2tak/let/gYC-yIXAw4aOGA">
    <link>https://let.hatelabo.jp/md2tak/let/gYC-yIXAw4aOGA</link>
    <dc:date>2011-05-26T15:30:07Z</dc:date>
    <description>Greasemonkey/Chromeで使用してください。はてブ編集時にコメントが消えるバグを回避できます。バグが修正されたら削除してください。</description>
    <dc:creator>md2tak</dc:creator>
    <title>[Let] ブクマコメントの消失を回避</title>
    <content:encoded>&lt;a href="javascript:%22https%3A%2F%2Flet.st-hatelabo.com%2Fmd2tak%2Flet%2FgYC-yIXAw4aOGA.bookmarklet.js%20%28arg%29%22.replace%28%2F%28%5CS%2B%29%5Cs%2B%28%5CS%2A%29%2F%2Cfunction%28s%2Curl%2Carg%29%7Bs%3Ddocument.createElement%28%22script%22%29%3Bs.charset%3D%22utf-8%22%3Bs.src%3Durl%2B%22%3Fs%3D%22%2BencodeURIComponent%28arg%29%3Bdocument.body.appendChild%28s%29%7D%29%3Bvoid%280%29%3B"&gt;ブクマコメントの消失を回避&lt;/a&gt;&lt;pre&gt;/*
 * @title ブクマコメントの消失を回避
 * @description Greasemonkey/Chromeで使用してください。はてブ編集時にコメントが消えるバグを回避できます。バグが修正されたら削除してください。
 * @include http://b.hatena.ne.jp/entry*
 * @license MIT License
 * @require 
 */

var d = document;
var $ = function(id) { return d.getElementById(id); }
var $x = function(xp, c) { if (c == undefined) c = d; return d.evaluate(xp, c, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue; }
var $a = function(xp, c) { if (c == undefined) c = d; var r = d.evaluate(xp, c, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null); var a=[]; for(var i=0; i&amp;lt;r.snapshotLength; i++){ a.push(r.snapshotItem(i)); } return a; }
var $e = function(e,t,f) { if (!e) return; e.addEventListener(t, f, false); }

var lis_self = $a('//li[contains(@class, &amp;quot;self&amp;quot;)]');
for (var i = 0; i &amp;lt; lis_self.length; i++) {
  var li_self = lis_self[i];
  // headerの取得
  var div_header = $x('./div[@class=&amp;quot;header&amp;quot;]', li_self);
  if (div_header == null) continue; // 仕様変更対策
  //　レイアウト調整
  div_header.appendChild(d.createElement('BR'));
  // 要素移動
  var spans = $a('./span', li_self);
  for (var j = 0; j &amp;lt; spans.length; j++) {
    div_header.appendChild(spans[j]);
  }
}&lt;/pre&gt;</content:encoded>
  </item>
  <item rdf:about="https://let.hatelabo.jp/md2tak/let/gYC-xIOLq4bdWA">
    <link>https://let.hatelabo.jp/md2tak/let/gYC-xIOLq4bdWA</link>
    <dc:date>2011-05-24T14:36:26Z</dc:date>
    <description>はてブコメントをTogetter風に引用できます。</description>
    <dc:creator>md2tak</dc:creator>
    <title>[Let] Togetter風はてブ引用ツール</title>
    <content:encoded>&lt;a href="javascript:%22https%3A%2F%2Flet.st-hatelabo.com%2Fmd2tak%2Flet%2FgYC-xIOLq4bdWA.bookmarklet.js%20%28arg%29%22.replace%28%2F%28%5CS%2B%29%5Cs%2B%28%5CS%2A%29%2F%2Cfunction%28s%2Curl%2Carg%29%7Bs%3Ddocument.createElement%28%22script%22%29%3Bs.charset%3D%22utf-8%22%3Bs.src%3Durl%2B%22%3Fs%3D%22%2BencodeURIComponent%28arg%29%3Bdocument.body.appendChild%28s%29%7D%29%3Bvoid%280%29%3B"&gt;Togetter風はてブ引用ツール&lt;/a&gt;&lt;pre&gt;/*
 * @title Togetter風はてブ引用ツール
 * @description はてブコメントをTogetter風に引用できます。
 * @include http://b.hatena.ne.jp
 * @license MIT License
 * @require jQuery
 */

if (typeof jQueryInstance == 'undefined') {
  jQueryInstance = $;
} else {
  $ = jQueryInstance;
}

// スタイルシート

var css = '\
&amp;lt;style type=&amp;quot;text/css&amp;quot;&amp;gt;\
  div.togetteristic-hatebu * { border:none; padding: 0; margin:0; font-size:100%; }\
  div.togetteristic-hatebu span {color:#999999;}\
  div.togetteristic-hatebu { width: 610px;line-height:1.4em;font:13px Verdana,arial,helvetica,clean,sans-serif;border-bottom: 1px solid #999999;padding: 5px 0; }\
  div.togetteristic-hatebu:after { clear: both; content: &amp;quot;.&amp;quot;; display: block; height: 0; visibility: hidden; }\
  div.togetteristic-hatebu span.tags {  }\
  div.togetteristic-hatebu span.tags a, div.togetteristic-hatebu span.timestamp  { color:#999999;font-size:92%; }\
  div.togetteristic-hatebu a.userid { text-decoration:underline; color:#105CB6;}\
  div.togetteristic-hatebu div.profile-img { margin-right:10px;float:left;border: 1px solid #E5E5E5;-moz-border-radius: 5px 5px 5px 5px;padding:4px; }\
  div.togetteristic-hatebu div.profile-img a { border:none; }\
  div.togetteristic-hatebu div.profile-img img { height:48px;width:48px;border:none; }\
  div.togetteristic-hatebu div.comment { margin-bottom: 5px;}\
  div.togetteristic-hatebu div.status { float:right;text-align:right; }\
&amp;lt;/style&amp;gt;\
';

// シンプル
var tmpl = '\
&amp;lt;li&amp;gt; \
  &amp;lt;a href=&amp;quot;$userpageLink$&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;$profileImg$&amp;quot; /&amp;gt;&amp;lt;/a&amp;gt;\
  &amp;lt;a href=&amp;quot;$link$&amp;quot; class=&amp;quot;userid&amp;quot;&amp;gt;$userid$&amp;lt;/a&amp;gt;\
  &amp;lt;span class=&amp;quot;tags&amp;quot;&amp;gt;$tags$&amp;lt;/span&amp;gt;\
  &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;$comment$&amp;lt;/span&amp;gt;\
  &amp;lt;span class=&amp;quot;timestamp&amp;quot;&amp;gt;$timestamp$&amp;lt;/span&amp;gt;\
&amp;lt;/li&amp;gt;\
';

// Toggeter風
var tmpl = '\
&amp;lt;div class=&amp;quot;dummy&amp;quot;&amp;gt;\
\
&amp;lt;div class=&amp;quot;togetteristic-hatebu&amp;quot;&amp;gt;\
  &amp;lt;div class=&amp;quot;profile-img&amp;quot;&amp;gt;\
    &amp;lt;a href=&amp;quot;$userpageLink$&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;$profileImg$&amp;quot; /&amp;gt;&amp;lt;/a&amp;gt;\
  &amp;lt;/div&amp;gt;\
  &amp;lt;div class=&amp;quot;comment&amp;quot;&amp;gt;$comment$&amp;lt;/div&amp;gt;\
  &amp;lt;div class=&amp;quot;status&amp;quot;&amp;gt;\
    &amp;lt;a href=&amp;quot;$link$&amp;quot; class=&amp;quot;userid&amp;quot;&amp;gt;$userid$&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;\
    &amp;lt;span class=&amp;quot;tags&amp;quot;&amp;gt;$tags$&amp;lt;/span&amp;gt;\
    &amp;lt;span class=&amp;quot;timestamp&amp;quot;&amp;gt;$timestamp$&amp;lt;/span&amp;gt;\
  &amp;lt;/div&amp;gt;\
&amp;lt;/div&amp;gt;\
\
&amp;lt;/div&amp;gt;';
    
$('ul.bookmark-list li, ul.comment li').unbind().hover(function(){
    $(this).css('border', '2px solid red');
},function(){
    $(this).css('border', '');
}).click(function(){
    var hateb_url = 'http://b.hatena.ne.jp';
    var uid = $(this).attr('data-user');
    var profimg = 'http://www.hatena.ne.jp/users/' + uid.substr(0,2) + '/' + uid + '/profile.gif';
    var vars = {
        userid: uid,
        link: hateb_url + $('a.username', this).attr('href'),
        userpageLink: hateb_url + '/' + uid + '/',
        tags: $('span.tags', this).html(),
        comment: $('span.comment', this).html(),
        timestamp: $('span.timestamp', this).html(),
        profileImg: profimg,
    };
    
    html = tmpl;
    for (var k in vars) {
        html = html.split('$' + k + '$').join(vars[k]);
    }
    
    var htmlobj = $(html);
    $('a', htmlobj).each(function(){
        var href = $(this).attr('href');
        if (href.substr(0,1) == '/') { // 相対パスならURLの追加
            $(this).attr('href', hateb_url + href);
        }
    });
    html = htmlobj.html();

    var copytype = $('#togetteristic-hatebu-form input[name=&amp;quot;copytype&amp;quot;]:checked').val();
    
    var rs = css + html;
    if (copytype == 1) rs = css + html;  
    if (copytype == 2) rs = html;
    
    if(jQuery.browser.msie){
        clipboardData.setData(&amp;quot;Text&amp;quot;, rs);
        alert('コピーしました！');
    } else {
        prompt('コピーしてください', rs);
    }
    return false;
});

// htmlの挿入

var html = '\
&amp;lt;div id=&amp;quot;togetteristic-hatebu-form&amp;quot; style=&amp;quot;position: fixed; top: 60px; right: 20px; z-index: 9999; background: none repeat scroll 0% 0% white; border: 2px solid gray; padding: 10px; font-size: 90%;text-align:left;&amp;quot;&amp;gt;\
&amp;lt;b&amp;gt;Togetter風はてブ引用ツール&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;\
コピーしたいブコメをクリック！&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;\
&amp;lt;label&amp;gt;&amp;lt;input type=&amp;quot;radio&amp;quot; checked=&amp;quot;&amp;quot; value=&amp;quot;1&amp;quot; name=&amp;quot;copytype&amp;quot;&amp;gt;スタイル＋コメントHTML(普通はこれ)&amp;lt;/label&amp;gt;&amp;lt;br /&amp;gt;\
&amp;lt;label&amp;gt;&amp;lt;input type=&amp;quot;radio&amp;quot; value=&amp;quot;2&amp;quot; name=&amp;quot;copytype&amp;quot;&amp;gt;コメントHTMLのみ(2個目以降)&amp;lt;/label&amp;gt;&amp;lt;br /&amp;gt;\
&amp;lt;/div&amp;gt;\
';

$('#togetteristic-hatebu-form').remove();
$('body').append(html);
&lt;/pre&gt;</content:encoded>
  </item>
  <item rdf:about="https://let.hatelabo.jp/md2tak/let/gYC-xIO_hL70Dg">
    <link>https://let.hatelabo.jp/md2tak/let/gYC-xIO_hL70Dg</link>
    <dc:date>2011-05-23T08:47:43Z</dc:date>
    <description>http://let.hatelabo.jp/md2tak/let/gYC-yIO--PqnXQとの比較用。</description>
    <dc:creator>md2tak</dc:creator>
    <title>[Let] ライブラリが何度も読み込まれてしまうサンプル</title>
    <content:encoded>&lt;a href="javascript:%22https%3A%2F%2Flet.st-hatelabo.com%2Fmd2tak%2Flet%2FgYC-xIO_hL70Dg.bookmarklet.js%20%28arg%29%22.replace%28%2F%28%5CS%2B%29%5Cs%2B%28%5CS%2A%29%2F%2Cfunction%28s%2Curl%2Carg%29%7Bs%3Ddocument.createElement%28%22script%22%29%3Bs.charset%3D%22utf-8%22%3Bs.src%3Durl%2B%22%3Fs%3D%22%2BencodeURIComponent%28arg%29%3Bdocument.body.appendChild%28s%29%7D%29%3Bvoid%280%29%3B"&gt;ライブラリが何度も読み込まれてしまうサンプル&lt;/a&gt;&lt;pre&gt;/*
 * @title ライブラリが何度も読み込まれてしまうサンプル
 * @description http://let.hatelabo.jp/md2tak/let/gYC-yIO--PqnXQとの比較用。
 * @include http://*
 * @license MIT License
 * @require jQuery
 */

alert('読み込みました。');

//　イベントをunbindしているにもかかわらず、ライブラリのオブジェクト（$）自体が上書きされてしまっているので、実際にはunbindされない。
$('body').unbind().click(function(){
  alert('クリックしました。これは何度も登録されてしまう。');
});
&lt;/pre&gt;</content:encoded>
  </item>
  <item rdf:about="https://let.hatelabo.jp/md2tak/let/gYC-yIO--PqnXQ">
    <link>https://let.hatelabo.jp/md2tak/let/gYC-yIO--PqnXQ</link>
    <dc:date>2011-05-23T08:24:57Z</dc:date>
    <description>＠requireのライブラリで作成されたオブジェクトをSingleton風に保持するサンプル</description>
    <dc:creator>md2tak</dc:creator>
    <title>[Let] ライブラリを一度だけ読み込むサンプル</title>
    <content:encoded>&lt;a href="javascript:%22https%3A%2F%2Flet.st-hatelabo.com%2Fmd2tak%2Flet%2FgYC-yIO--PqnXQ.bookmarklet.js%20%28arg%29%22.replace%28%2F%28%5CS%2B%29%5Cs%2B%28%5CS%2A%29%2F%2Cfunction%28s%2Curl%2Carg%29%7Bs%3Ddocument.createElement%28%22script%22%29%3Bs.charset%3D%22utf-8%22%3Bs.src%3Durl%2B%22%3Fs%3D%22%2BencodeURIComponent%28arg%29%3Bdocument.body.appendChild%28s%29%7D%29%3Bvoid%280%29%3B"&gt;ライブラリを一度だけ読み込むサンプル&lt;/a&gt;&lt;pre&gt;/*
 * @title ライブラリを一度だけ読み込むサンプル
 * @description ＠requireのライブラリで作成されたオブジェクトをSingleton風に保持するサンプル
 * @include http://*
 * @license MIT License
 * @require jQuery
 */

if (typeof jQueryInstance == 'undefined') {
  jQueryInstance = $;
  alert('初回読み込み。グローバルに保存');
} else {
  $ = jQueryInstance;
  alert('二回目以降。グローバルから読み出し');
}

// $はずっと同じものを使っているのでunbindが有効。
$('body').unbind().click(function(){
  alert('クリックしました。これは一度しか呼び出されません。');
});&lt;/pre&gt;</content:encoded>
  </item>
</rdf:RDF>
