<?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/yuta25/rss">
    <link>https://let.hatelabo.jp/yuta25/rss</link>
    <description></description>
    <title>Bookmarklets from yuta25</title>
    <items>
      <rdf:Seq>
        <rdf:li rdf:resource="https://let.hatelabo.jp/yuta25/let/kY27qdvugeAA"/>
        <rdf:li rdf:resource="https://let.hatelabo.jp/yuta25/let/jZ-L6ou2goAA"/>
        <rdf:li rdf:resource="https://let.hatelabo.jp/yuta25/let/hJmfrs6AsMBu"/>
        <rdf:li rdf:resource="https://let.hatelabo.jp/yuta25/let/joGBm82IgKAA"/>
        <rdf:li rdf:resource="https://let.hatelabo.jp/yuta25/let/jZzFlrCUgsAA"/>
        <rdf:li rdf:resource="https://let.hatelabo.jp/yuta25/let/hJme6Z3p2sFR"/>
        <rdf:li rdf:resource="https://let.hatelabo.jp/yuta25/let/i_z9zazWgMAA"/>
        <rdf:li rdf:resource="https://let.hatelabo.jp/yuta25/let/i5ef8p2QgKAA"/>
        <rdf:li rdf:resource="https://let.hatelabo.jp/yuta25/let/hLHU9NX1nqAu"/>
        <rdf:li rdf:resource="https://let.hatelabo.jp/yuta25/let/g5G0g-2v9Jcc"/>
        <rdf:li rdf:resource="https://let.hatelabo.jp/yuta25/let/hLHWnL_HmJof"/>
        <rdf:li rdf:resource="https://let.hatelabo.jp/yuta25/let/hJmf4eqOzsBd"/>
        <rdf:li rdf:resource="https://let.hatelabo.jp/yuta25/let/hJmeu-js5vps"/>
        <rdf:li rdf:resource="https://let.hatelabo.jp/yuta25/let/hJmd5K25me9G"/>
        <rdf:li rdf:resource="https://let.hatelabo.jp/yuta25/let/hLHVobCBktsK"/>
        <rdf:li rdf:resource="https://let.hatelabo.jp/yuta25/let/hLHU74SE_dgP"/>
        <rdf:li rdf:resource="https://let.hatelabo.jp/yuta25/let/hLHV0M_xxMwy"/>
        <rdf:li rdf:resource="https://let.hatelabo.jp/yuta25/let/hJmc4vOC9qVx"/>
        <rdf:li rdf:resource="https://let.hatelabo.jp/yuta25/let/hJmdwMea36hq"/>
        <rdf:li rdf:resource="https://let.hatelabo.jp/yuta25/let/hJmf5_3V9vtf"/>
      </rdf:Seq>
    </items>
  </channel>
  <item rdf:about="https://let.hatelabo.jp/yuta25/let/kY27qdvugeAA">
    <link>https://let.hatelabo.jp/yuta25/let/kY27qdvugeAA</link>
    <dc:date>2024-04-24T05:06:54Z</dc:date>
    <description>https://tech.classi.jp/entry/2024/04/23/183000</description>
    <dc:creator>yuta25</dc:creator>
    <title>[Let] IME変換中のエンターキーで送信される！への対処法</title>
    <content:encoded>&lt;a href="javascript:document.addEventListener%28%27keydown%27%2C%28function%28event%29%7Bif%28event.key%3D%3D%3D%27Enter%27%26%26event.isComposing%29%7Bevent.stopPropagation%28%29%7D%7D%29%2C%7Bcapture%3Atrue%7D%29%3B"&gt;IME変換中のエンターキーで送信される！への対処法&lt;/a&gt;&lt;pre&gt;/*
 * @title IME変換中のエンターキーで送信される！への対処法
 * @description https://tech.classi.jp/entry/2024/04/23/183000
 * @include http://*
 * @license MIT License
 * @javascript_url
 */


document.addEventListener('keydown', function(event) {
    if (event.key === 'Enter' &amp;amp;&amp;amp; event.isComposing) {
        event.stopPropagation();
    }
},{capture: true});&lt;/pre&gt;</content:encoded>
  </item>
  <item rdf:about="https://let.hatelabo.jp/yuta25/let/jZ-L6ou2goAA">
    <link>https://let.hatelabo.jp/yuta25/let/jZ-L6ou2goAA</link>
    <dc:date>2024-01-27T01:25:18Z</dc:date>
    <description>便利</description>
    <dc:creator>yuta25</dc:creator>
    <title>[Let] Amazonの本を国会図書館で検索する</title>
    <content:encoded>&lt;a href="javascript:%22https%3A%2F%2Flet.st-hatelabo.com%2Fyuta25%2Flet%2FjZ-L6ou2goAA.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;Amazonの本を国会図書館で検索する&lt;/a&gt;&lt;pre&gt;/*
 * @title Amazonの本を国会図書館で検索する
 * @description 便利
 * @include https://www.amazon.co.jp/*
 * @license MIT License
 */

(() =&amp;gt; {
  const title = document
    .querySelector(&amp;quot;#productTitle&amp;quot;)
    .textContent.trim()
    .replaceAll(/[～‐‑‒–—―⁃−⎯⏤─━﹘﹣－ｰ-]/g, &amp;quot; &amp;quot;)
    .replaceAll(/[（）()｛｝{}［］\[\]【】〈〉〔〕]/g, &amp;quot; &amp;quot;);
  window.open(
    `https://ndlsearch.ndl.go.jp/search?cs=bib&amp;amp;display=panel&amp;amp;from=0&amp;amp;size=20&amp;amp;keyword=${encodeURIComponent(
      title
    )}&amp;amp;f-ht=ndl&amp;amp;f-ht=library&amp;amp;f-mt=dtbook`
  );
})();
&lt;/pre&gt;</content:encoded>
  </item>
  <item rdf:about="https://let.hatelabo.jp/yuta25/let/hJmfrs6AsMBu">
    <link>https://let.hatelabo.jp/yuta25/let/hJmfrs6AsMBu</link>
    <dc:date>2023-02-13T06:50:29Z</dc:date>
    <description>wikipedia random auopagerize</description>
    <dc:creator>yuta25</dc:creator>
    <title>[Let] wikipedia random autopagerize</title>
    <content:encoded>&lt;a href="javascript:%28function%28%29%7Blet%20loading%3Dfalse%3Bconst%20x%3Dnew%20XMLHttpRequest%3Bx.onload%3Dfunction%28e%29%7Bhistory.pushState%28%22%22%2C%22%22%2Cx.responseURL%29%3Bif%28x.status%3C%3D200%29%7Bconst%20doc%3De.target.response%3Bwindow.scrollTo%280%2C0%29%3Bdocument.querySelector%28%22div.mw-page-container%22%29.replaceWith%28doc.querySelector%28%22div.mw-page-container%22%29%29%7Dloading%3Dfalse%7D%3Bfunction%20loadNext%28%29%7Bloading%3Dtrue%3Bx.open%28%22GET%22%2C%22%2Fwiki%2F%25E7%2589%25B9%25E5%2588%25A5%3A%25E3%2581%258A%25E3%2581%25BE%25E3%2581%258B%25E3%2581%259B%25E8%25A1%25A8%25E7%25A4%25BA%22%2Ctrue%29%3Bx.responseType%3D%22document%22%3Bx.send%28null%29%7Dwindow.addEventListener%28%22scroll%22%2C%28function%28%29%7Bif%28loading%29return%3Bconst%20remain%3Ddocument.documentElement.scrollHeight-window.innerHeight-window.pageYOffset%3Bif%28remain%3C10%29%7BloadNext%28%29%7D%7D%29%2Cfalse%29%7D%29%28%29%3B"&gt;wikipedia random autopagerize&lt;/a&gt;&lt;pre&gt;/*
 * @title wikipedia random autopagerize
 * @description wikipedia random auopagerize
 * @include http://ja.wikipedia.org/wiki/*
 * @license MIT
 * @javascript_url
 */

(function () {
  let loading = false;
  const x = new XMLHttpRequest();

  x.onload = function (e) {
    history.pushState(&amp;quot;&amp;quot;, &amp;quot;&amp;quot;, x.responseURL);
    if (x.status &amp;lt;= 200) {
      const doc = e.target.response;

      window.scrollTo(0, 0);
      document
        .querySelector(&amp;quot;div.mw-page-container&amp;quot;)
        .replaceWith(doc.querySelector(&amp;quot;div.mw-page-container&amp;quot;));
    }
    loading = false;
  };

  function loadNext() {
    loading = true;
    x.open(
      &amp;quot;GET&amp;quot;,
      &amp;quot;/wiki/%E7%89%B9%E5%88%A5:%E3%81%8A%E3%81%BE%E3%81%8B%E3%81%9B%E8%A1%A8%E7%A4%BA&amp;quot;,
      true
    );
    x.responseType = &amp;quot;document&amp;quot;;
    x.send(null);
  }

  window.addEventListener(
    &amp;quot;scroll&amp;quot;,
    function () {
      if (loading) return;
      const remain =
        document.documentElement.scrollHeight -
        window.innerHeight -
        window.pageYOffset;
      if (remain &amp;lt; 10) {
        loadNext();
      }
    },
    false
  );
})();
&lt;/pre&gt;</content:encoded>
  </item>
  <item rdf:about="https://let.hatelabo.jp/yuta25/let/joGBm82IgKAA">
    <link>https://let.hatelabo.jp/yuta25/let/joGBm82IgKAA</link>
    <dc:date>2022-08-17T09:57:53Z</dc:date>
    <description>Scrapboxに貼りやすいように選択中のテキストをクリップボードにコピー</description>
    <dc:creator>yuta25</dc:creator>
    <title>[Let] sbquote</title>
    <content:encoded>&lt;a href="javascript:async%20function%20sbquote%28%29%7Bconst%20quote%3Dwindow.getSelection%28%29.toString%28%29%3Bconst%20url%3Dwindow.location.href%3Bconst%20title%3Ddocument.title%7C%7Cdocument.querySelector%28%27meta%5Bproperty%3D%22og%3Atitle%22%5D%27%29.content%7C%7C%27%27%3Bconst%20text%3D%60%5Cn%3E%20%24%7Bquote%7D%5Cn%3E%20%5B%24%7Burl%7D%20%24%7Btitle%7D%5D%5Cn%60%3Bawait%20navigator.clipboard.writeText%28text%29%7D%28async%28%29%3D%3E%7Bdocument.addEventListener%28%27selectionchange%27%2C%28%28%29%3D%3E%7Bsbquote%28%29%7D%29%29%7D%29%28%29%3B"&gt;sbquote&lt;/a&gt;&lt;pre&gt;/*
 * @title sbquote
 * @description Scrapboxに貼りやすいように選択中のテキストをクリップボードにコピー
 * @include http://*
 * @license MIT License
 * @require 
 * @javascript_url
 */

async function sbquote() {
  const quote = window.getSelection().toString();
  const url = window.location.href;
  const title = document.title || document.querySelector('meta[property=&amp;quot;og:title&amp;quot;]').content || '';
  const text = `
&amp;gt; ${quote}
&amp;gt; [${url} ${title}]
`;

  await navigator.clipboard.writeText(text);
}

(async () =&amp;gt; {
  document.addEventListener('selectionchange', () =&amp;gt; {
    sbquote();
  });
})();&lt;/pre&gt;</content:encoded>
  </item>
  <item rdf:about="https://let.hatelabo.jp/yuta25/let/jZzFlrCUgsAA">
    <link>https://let.hatelabo.jp/yuta25/let/jZzFlrCUgsAA</link>
    <dc:date>2022-03-14T06:28:50Z</dc:date>
    <description>便利</description>
    <dc:creator>yuta25</dc:creator>
    <title>[Let] wevoxの一番右のボタンをクリックし続ける</title>
    <content:encoded>&lt;a href="javascript:%22https%3A%2F%2Flet.st-hatelabo.com%2Fyuta25%2Flet%2FjZzFlrCUgsAA.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;wevoxの一番右のボタンをクリックし続ける&lt;/a&gt;&lt;pre&gt;/*
 * @title wevoxの一番右のボタンをクリックし続ける
 * @description 便利
 * @include http://*
 * @license MIT License
 * @require 
 */

setInterval(() =&amp;gt; document.querySelector('.wa-section:nth-last-child(2) button[data-testid=&amp;quot;score-answer-button&amp;quot;]:last-child').click(), 1000)&lt;/pre&gt;</content:encoded>
  </item>
  <item rdf:about="https://let.hatelabo.jp/yuta25/let/hJme6Z3p2sFR">
    <link>https://let.hatelabo.jp/yuta25/let/hJme6Z3p2sFR</link>
    <dc:date>2022-02-24T10:57:26Z</dc:date>
    <description>suzuri random autopagerize</description>
    <dc:creator>yuta25</dc:creator>
    <title>[Let] suzuri random autopagerize</title>
    <content:encoded>&lt;a href="javascript:%22https%3A%2F%2Flet.st-hatelabo.com%2Fyuta25%2Flet%2FhJme6Z3p2sFR.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;suzuri random autopagerize&lt;/a&gt;&lt;pre&gt;/*
 * @title suzuri random autopagerize
 * @description suzuri random autopagerize
 * @include https://suzuri.jp/*
 * @license MIT
 */


(function() {
  var loading = false;
  var x = new XMLHttpRequest();
  var lastElement = function() {
    var e = document.querySelectorAll('.content.product');
    return e[e.length - 1];
  }();
  var insertPoint = lastElement.nextSibling;

  x.onload = function(e) {
    if (x.status &amp;lt;= 200) {
      var doc = e.target.response;
      Array.prototype.forEach.call(doc.querySelectorAll('.content.product'), function(elem) {
        if (image = elem.querySelector('div.zoom &amp;gt; img')) {
          lastElement.parentElement.insertBefore(elem, insertPoint);
        }
      });
    }
    loading = false;
  };

  function loadNext() {
    loading = true;
    x.open('GET', '/products/random', true);
    x.responseType = 'document';
    x.send(null);
  };

  window.addEventListener('scroll', function() {
    if (loading) return;
    var remain = document.documentElement.scrollHeight - window.innerHeight - window.pageYOffset;
    if (remain &amp;lt; 5000) {
      loadNext();
    }
  }, false);

  loadNext();
}());
&lt;/pre&gt;</content:encoded>
  </item>
  <item rdf:about="https://let.hatelabo.jp/yuta25/let/i_z9zazWgMAA">
    <link>https://let.hatelabo.jp/yuta25/let/i_z9zazWgMAA</link>
    <dc:date>2021-07-12T03:12:28Z</dc:date>
    <description>Spotifyのアルバム・ジャケット画像のURLを開く</description>
    <dc:creator>yuta25</dc:creator>
    <title>[Let] SpotifyJacket</title>
    <content:encoded>&lt;a href="javascript:open%28document.querySelector%28%27div.contentSpacing%20div%20div%20img%27%29.srcset.split%28%27%2C%27%29.find%28%28s%3D%3Es.match%28%2F640w%24%2F%29%29%29.replace%28%2F%28%5E%20%7C640w%24%29%2Fg%2C%27%27%29%29%3B"&gt;SpotifyJacket&lt;/a&gt;&lt;pre&gt;/*
 * @title SpotifyJacket
 * @description Spotifyのアルバム・ジャケット画像のURLを開く
 * @include http://*
 * @license MIT License
 * @javascript_url
 */

open(document.querySelector('div.contentSpacing div div img').srcset.split(',').find(s =&amp;gt; s.match(/640w$/)).replace(/(^ |640w$)/g, ''))
&lt;/pre&gt;</content:encoded>
  </item>
  <item rdf:about="https://let.hatelabo.jp/yuta25/let/i5ef8p2QgKAA">
    <link>https://let.hatelabo.jp/yuta25/let/i5ef8p2QgKAA</link>
    <dc:date>2021-02-01T08:50:10Z</dc:date>
    <description>ラジオボタンのやつ</description>
    <dc:creator>yuta25</dc:creator>
    <title>[Let] 最初の選択肢全部選ぶ</title>
    <content:encoded>&lt;a href="javascript:%5B...new%20Set%28Array.from%28document.querySelectorAll%28%27input%5Btype%3D%22radio%22%5D%27%29%29.map%28%28elem%3D%3Eelem.name%29%29%29%5D.each%28%28n%3D%3Edocument.querySelector%28%60input%5Btype%3D%22radio%22%5D%5Bname%3D%22%24%7Bn%7D%22%5D%60%29.click%28%29%29%29%3B"&gt;最初の選択肢全部選ぶ&lt;/a&gt;&lt;pre&gt;/*
 * @title 最初の選択肢全部選ぶ
 * @description ラジオボタンのやつ
 * @include http://*
 * @license MIT License
 * @javascript_url
 * @require 
 */

[...new Set(Array.from(document.querySelectorAll('input[type=&amp;quot;radio&amp;quot;]')).map(elem =&amp;gt; elem.name))].each(n =&amp;gt; document.querySelector(`input[type=&amp;quot;radio&amp;quot;][name=&amp;quot;${n}&amp;quot;]`).click())
&lt;/pre&gt;</content:encoded>
  </item>
  <item rdf:about="https://let.hatelabo.jp/yuta25/let/hLHU9NX1nqAu">
    <link>https://let.hatelabo.jp/yuta25/let/hLHU9NX1nqAu</link>
    <dc:date>2020-06-24T06:26:51Z</dc:date>
    <description>深呼吸を促す</description>
    <dc:creator>yuta25</dc:creator>
    <title>[Let] push me before doing anything!</title>
    <content:encoded>&lt;a href="javascript:%28function%28%29%7Bvar%20wrap%3Ddocument.createElement%28%27div%27%29%3Bwrap.style.backgroundColor%3D%27rgba%28255%2C250%2C255%2C%200.7%29%27%3Bwrap.style.color%3D%27%23000%27%3Bwrap.style.display%3D%27table%27%3Bwrap.style.fontSize%3D%2790px%27%3Bwrap.style.height%3D%27100%25%27%3Bwrap.style.left%3D%270%27%3Bwrap.style.position%3D%27fixed%27%3Bwrap.style.textAlign%3D%27center%27%3Bwrap.style.top%3D%270%27%3Bwrap.style.width%3D%27100%25%27%3Bwrap.style.zIndex%3D%2799999999999%27%3Bwrap.innerHTML%3D%27%3Cp%20style%3D%22display%3Atable-cell%3Bvertical-align%3Amiddle%3B%22%3E%E6%B7%B1%E5%91%BC%E5%90%B8%E3%81%97%E3%81%BE%E3%81%97%E3%82%87%E3%81%86%EF%BC%81%3C%2Fp%3E%27%3Bdocument.body.appendChild%28wrap%29%3Bvar%20remove%3Dfunction%28%29%7Bdocument.body.removeChild%28wrap%29%7D%3BsetTimeout%28remove%2C5e3%29%7D%29%28%29%3B"&gt;push me before doing anything!&lt;/a&gt;&lt;pre&gt;/*
 * @title push me before doing anything!
 * @description 深呼吸を促す
 * @include *
 * @license CC BY 3.0
 * @javascript_url
 */
(function() {
var wrap = document.createElement('div');
wrap.style.backgroundColor = 'rgba(255,250,255, 0.7)';
wrap.style.color = '#000';
wrap.style.display = 'table';
wrap.style.fontSize ='90px';
wrap.style.height = '100%';
wrap.style.left = '0';
wrap.style.position = 'fixed';
wrap.style.textAlign = 'center';
wrap.style.top = '0';
wrap.style.width = '100%';
wrap.style.zIndex = '99999999999';
wrap.innerHTML = '&amp;lt;p style=&amp;quot;display:table-cell;vertical-align:middle;&amp;quot;&amp;gt;深呼吸しましょう！&amp;lt;/p&amp;gt;';
document.body.appendChild(wrap);
var remove = function() {
document.body.removeChild(wrap);
};
setTimeout(remove, 5000);
}())&lt;/pre&gt;</content:encoded>
  </item>
  <item rdf:about="https://let.hatelabo.jp/yuta25/let/g5G0g-2v9Jcc">
    <link>https://let.hatelabo.jp/yuta25/let/g5G0g-2v9Jcc</link>
    <dc:date>2020-02-07T08:48:43Z</dc:date>
    <description>AmazonのURLを短くするやつ</description>
    <dc:creator>yuta25</dc:creator>
    <title>[Let] Amazon URL shortener</title>
    <content:encoded>&lt;a href="javascript:var%20asin%3Ddocument.getElementById%28%27ASIN%27%29.value%3Blocation.href%3D%27http%3A%2F%2Famazon.jp%2Fdp%2F%27%2Basin%3B"&gt;Amazon URL shortener&lt;/a&gt;&lt;pre&gt;/*
 * @title Amazon URL shortener
 * @description AmazonのURLを短くするやつ
 * @include http://www.amazon.co.jp/
 * @license MIT License
 * @require 
 * @javascript_url
 */


var asin=document.getElementById('ASIN').value;
location.href='http://amazon.jp/dp/'+asin;

&lt;/pre&gt;</content:encoded>
  </item>
  <item rdf:about="https://let.hatelabo.jp/yuta25/let/hLHWnL_HmJof">
    <link>https://let.hatelabo.jp/yuta25/let/hLHWnL_HmJof</link>
    <dc:date>2019-03-25T02:51:11Z</dc:date>
    <description>(x_x)</description>
    <dc:creator>yuta25</dc:creator>
    <title>[Let] restore my rights</title>
    <content:encoded>&lt;a href="javascript:%28function%28%29%7Bvar%20elems%3Ddocument.querySelectorAll%28%27%2A%27%29%3Bfor%28var%20i%3D0%2Clength%3Delems.length%3Bi%3Clength%3Bi%2B%2B%29%7Belems%5Bi%5D.setAttribute%28%27unselectable%27%2C%27off%27%29%3Belems%5Bi%5D.onmousedown%3Dnull%3Belems%5Bi%5D.oncontextmenu%3Dnull%3Belems%5Bi%5D.onselectstart%3Dnull%3Belems%5Bi%5D.style%5B%27user-select%27%5D%3D%27initial%27%3Belems%5Bi%5D.style%5B%27-webkit-user-select%27%5D%3D%27initial%27%7Dif%28typeof%20%24%21%3D%3D%22undefined%22%29%7B%24%28%27%2A%27%29.unbind%28%29%7D%7D%29%28%29%3B"&gt;restore my rights&lt;/a&gt;&lt;pre&gt;/*
 * @title restore my rights
 * @description (x_x)
 * @include http://*
 * @include https://*
 * @license MIT License
 * @javascript_url
 * @require 
 */

(function() {
  var elems = document.querySelectorAll('*');
  for (var i = 0,length = elems.length; i &amp;lt; length; i++) {
    elems[i].setAttribute('unselectable', 'off');
    elems[i].onmousedown = null;
    elems[i].oncontextmenu = null;
    elems[i].onselectstart = null;
    elems[i].style['user-select'] = 'initial';
    elems[i].style['-webkit-user-select'] = 'initial';
  }
  if (typeof $ !== &amp;quot;undefined&amp;quot;) {
    $('*').unbind();
  }
}());
&lt;/pre&gt;</content:encoded>
  </item>
  <item rdf:about="https://let.hatelabo.jp/yuta25/let/hJmf4eqOzsBd">
    <link>https://let.hatelabo.jp/yuta25/let/hJmf4eqOzsBd</link>
    <dc:date>2017-10-12T03:33:07Z</dc:date>
    <description>http://let.st-hatelabo.com/unko-man/let/hLHWv-3firtV.bookmarklet.js</description>
    <dc:creator>yuta25</dc:creator>
    <title>[Let] spin</title>
    <content:encoded>&lt;a href="javascript:const%20lastLink%3DArray.from%28document.querySelectorAll%28%27head%20link%27%29%29.pop%28%29%3Bconst%20fontAwesome%3Ddocument.createElement%28%27link%27%29%3BfontAwesome.href%3D%27%2F%2Fnetdna.bootstrapcdn.com%2Ffont-awesome%2F4.2.0%2Fcss%2Ffont-awesome.css%27%3BfontAwesome.rel%3D%27stylesheet%27%3BlastLink.after%28fontAwesome%29%3Blet%20i%3D0%3BArray.from%28document.querySelectorAll%28%27font%2Cimg%2Cspan%2Ca%2Cli%27%29%29.forEach%28%28e%3D%3E%7BsetTimeout%28%28%28%29%3D%3E%7Be.classList.add%28%27fa-spin%27%29%7D%29%2Ci%2A10%29%7D%29%29%3B"&gt;spin&lt;/a&gt;&lt;pre&gt;/*
 * @title spin
 * @description http://let.st-hatelabo.com/unko-man/let/hLHWv-3firtV.bookmarklet.js
 * @include http://*
 * @license MIT License
 * @require 
 * @javascript_url
 */

const lastLink = Array.from(document.querySelectorAll('head link')).pop();
const fontAwesome = document.createElement('link');
fontAwesome.href = '//netdna.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.css';
fontAwesome.rel = 'stylesheet';
lastLink.after(fontAwesome);
let i = 0;
Array.from(document.querySelectorAll('font,img,span,a,li')).forEach(e =&amp;gt; {
  setTimeout(() =&amp;gt; {
    e.classList.add('fa-spin');
  }, i * 10);
});&lt;/pre&gt;</content:encoded>
  </item>
  <item rdf:about="https://let.hatelabo.jp/yuta25/let/hJmeu-js5vps">
    <link>https://let.hatelabo.jp/yuta25/let/hJmeu-js5vps</link>
    <dc:date>2017-01-27T07:20:25Z</dc:date>
    <description>my bookmarklet</description>
    <dc:creator>yuta25</dc:creator>
    <title>[Let] matrix</title>
    <content:encoded>&lt;a href="javascript:%28function%28%29%7Blet%20q%3Ddocument.createElement%28%27canvas%27%29%3Bdocument.body.appendChild%28q%29%3Blet%20s%3Dwindow.screen%3Blet%20w%3Dq.width%3Ds.width%3Blet%20h%3Dq.height%3Ddocument.body.scrollHeight%3Blet%20p%3DArray%28256%29.join%281%29.split%28%27%27%29%3Blet%20c%3Dq.getContext%28%222d%22%29%3Blet%20m%3DMath%3Bq.style.position%3D%27absolute%27%3Bq.style.top%3Dq.style.left%3D%270%27%3Bq.style.zIndex%3D%2799999%27%3Blet%20opacity%3D0%3Blet%20inc%3Dtrue%3BsetInterval%28%28%28%29%3D%3E%7Bc.fillStyle%3D%22rgba%280%2C0%2C0%2C0.05%29%22%3Bc.fillRect%280%2C0%2Cw%2Ch%29%3Bc.fillStyle%3D%22rgba%280%2C255%2C0%2C1%29%22%3Bif%28inc%29%7Bopacity%2B%3D10%3Bq.style.opacity%3D%60%24%7Bopacity%2F100%7D%60%3Bif%28opacity%3E%3D100%29%7Binc%3Dfalse%7D%7Delse%7Bopacity-%3D10%3Bq.style.opacity%3D%60%24%7Bopacity%2F100%7D%60%3Bif%28opacity%3C%3D0%29%7Binc%3Dtrue%7D%7Dp%3Dp.map%28%28%28v%2Ci%29%3D%3E%7Blet%20r%3Dm.random%28%29%3Bc.fillText%28String.fromCharCode%28m.floor%282720%2Br%2A33%29%29%2Ci%2A10%2Cv%29%3Bv%2B%3D10%3Breturn%20v%3E768%2Br%2A1e4%3F0%3Av%7D%29%29%7D%29%2C33%29%7D%29%28%29%3B"&gt;matrix&lt;/a&gt;&lt;pre&gt;/*
 * @title matrix
 * @javascript_url
 * @description my bookmarklet
 * @include http://*
 * @license MIT License
 * @require 
 */

// original: https://github.com/MinhasKamal/CreepyCodeCollection/blob/master/matrix_effect.html

(function() {
  let q = document.createElement('canvas');
  document.body.appendChild(q);
  let s=window.screen;
  let w=q.width=s.width;
  let h=q.height=document.body.scrollHeight;
  let p=Array(256).join(1).split('');
  let c=q.getContext(&amp;quot;2d&amp;quot;);
  let m=Math;
  // q.style.height = `${document.body.scrollHeight}px`;
  q.style.position = 'absolute';
  q.style.top = q.style.left = '0';
  q.style.zIndex = '99999';
  let opacity = 0;
  let inc = true;
  setInterval(() =&amp;gt; {
    c.fillStyle=&amp;quot;rgba(0,0,0,0.05)&amp;quot;;
    c.fillRect(0,0,w,h);
    c.fillStyle=&amp;quot;rgba(0,255,0,1)&amp;quot;;
    if (inc) {
      opacity += 10;
      q.style.opacity = `${opacity/100}`;
      if (opacity &amp;gt;= 100) {
        inc = false;
      }
    } else {
      opacity -= 10;
      q.style.opacity = `${opacity/100}`;
      if (opacity &amp;lt;= 0) {
        inc = true;
      }
    }
    p=p.map((v,i) =&amp;gt; {
      let r=m.random();
      c.fillText(String.fromCharCode(m.floor(2720+r*33)),i*10,v);
      v+=10;
      return v&amp;gt;768+r*1e4?0:v
    })
  },33);
}())&lt;/pre&gt;</content:encoded>
  </item>
  <item rdf:about="https://let.hatelabo.jp/yuta25/let/hJmd5K25me9G">
    <link>https://let.hatelabo.jp/yuta25/let/hJmd5K25me9G</link>
    <dc:date>2016-09-13T09:18:27Z</dc:date>
    <description>github, github enterprise のissueとかで、親指立てるボタンを全部押す</description>
    <dc:creator>yuta25</dc:creator>
    <title>[Let] 親指立て男</title>
    <content:encoded>&lt;a href="javascript:Array.from%28document.querySelectorAll%28%27button%5Bvalue%3D%22%2B1%20react%22%5D%27%29%29.forEach%28%28b%3D%3Eb.click%28%29%29%29%3B"&gt;親指立て男&lt;/a&gt;&lt;pre&gt;/*
 * @title 親指立て男
 * @description github, github enterprise のissueとかで、親指立てるボタンを全部押す
 * @include *
 * @license MIT License
 * @javascript_url
 */

Array.from(document.querySelectorAll('button[value=&amp;quot;+1 react&amp;quot;]')).forEach(b =&amp;gt; b.click())
&lt;/pre&gt;</content:encoded>
  </item>
  <item rdf:about="https://let.hatelabo.jp/yuta25/let/hLHVobCBktsK">
    <link>https://let.hatelabo.jp/yuta25/let/hLHVobCBktsK</link>
    <dc:date>2016-06-01T08:10:30Z</dc:date>
    <description>調整さんで全部◯を選択する</description>
    <dc:creator>yuta25</dc:creator>
    <title>[Let] 調整さんに全部◯するくん</title>
    <content:encoded>&lt;a href="javascript:Array.from%28document.querySelectorAll%28%27.oax-0%27%29%29.forEach%28%28el%3D%3Eel.click%28%29%29%29%3B"&gt;調整さんに全部◯するくん&lt;/a&gt;&lt;pre&gt;/*
 * @title 調整さんに全部◯するくん
 * @description 調整さんで全部◯を選択する
 * @include https://chouseisan.com/*
 * @license MIT License
 * @require 
 * @javascript_url
 */

Array.from(document.querySelectorAll('.oax-0')).forEach(el =&amp;gt; el.click())&lt;/pre&gt;</content:encoded>
  </item>
  <item rdf:about="https://let.hatelabo.jp/yuta25/let/hLHU74SE_dgP">
    <link>https://let.hatelabo.jp/yuta25/let/hLHU74SE_dgP</link>
    <dc:date>2016-03-15T03:10:14Z</dc:date>
    <description>画面内にある全部のラジオボタンを適当に選択する</description>
    <dc:creator>yuta25</dc:creator>
    <title>[Let] 自動鉛筆ころがしマシーン</title>
    <content:encoded>&lt;a href="javascript:Array.from%28document.querySelectorAll%28%27form%27%29%29.forEach%28%28form%3D%3E%7BArray.from%28form.querySelectorAll%28%27input%5Btype%3Dradio%5D%27%29%29.forEach%28%28radio%3D%3E%7Bform%5Bradio.name%5D.value%3Dform%5Bradio.name%5D%5BMath.floor%28Math.random%28%29%2Aform%5Bradio.name%5D.length%29%5D.value%7D%29%29%7D%29%29%3B"&gt;自動鉛筆ころがしマシーン&lt;/a&gt;&lt;pre&gt;/*
 * @title 自動鉛筆ころがしマシーン
 * @description 画面内にある全部のラジオボタンを適当に選択する
 * @include *
 * @license MIT License
 * @javascript_url
 */

Array.from(document.querySelectorAll('form')).forEach(form =&amp;gt; {
  Array.from(form.querySelectorAll('input[type=radio]')).forEach(radio =&amp;gt; {
    form[radio.name].value = form[radio.name][Math.floor(Math.random() * form[radio.name].length)].value
  })
})
&lt;/pre&gt;</content:encoded>
  </item>
  <item rdf:about="https://let.hatelabo.jp/yuta25/let/hLHV0M_xxMwy">
    <link>https://let.hatelabo.jp/yuta25/let/hLHV0M_xxMwy</link>
    <dc:date>2016-03-09T01:05:04Z</dc:date>
    <description>画像のpostをdsbdとwindowに合わせる(for user script &amp; please use with http://userstyles.org/styles/102353/dashboard-1-column)</description>
    <dc:creator>yuta25</dc:creator>
    <title>[Let] image post fitness</title>
    <content:encoded>&lt;a href="javascript:%22https%3A%2F%2Flet.st-hatelabo.com%2Fyuta25%2Flet%2FhLHV0M_xxMwy.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;image post fitness&lt;/a&gt;&lt;pre&gt;/*
 * @title image post fitness
 * @description 画像のpostをdsbdとwindowに合わせる(for user script &amp;amp; please use with http://userstyles.org/styles/102353/dashboard-1-column)
 * @include https://www.tumblr.com/dashboard*
 * @license reblog commons license ( cc by 3.0 )
 */


(function () {
  var w = window
  var d = document
  var spreadImage = function(img) {
    if (!img)
      img = this
    if (!img.width) {
      img = img.data;
    }
    if (!img.complete) {
      img.onload = spreadImage;
      return;
    }
    var iW = img.naturalWidth;
    var iH = img.naturalHeight;
    var vW = img.parentNode.parentNode.clientWidth;
    var vH = w.innerHeight - 120;
    var vR = vW / vH;
    var rate;
    var adjust = {};
    iR = iW / iH;
    rate = vR &amp;gt; iR ? vH / iH : vW / iW;
    adjust.width = Math.round(iW * rate);
    adjust.height = Math.round(iH * rate);
    img.style.width = adjust.width + 'px'
    img.style.height = adjust.height + 'px'
  };

  var spreadImagesIntoDashboard = function(dom) {
    var imgs = dom.querySelectorAll('img.post_media_photo');
    Array.prototype.forEach.call(imgs, function(img) {
      spreadImage(img)
    });
  };

  spreadImagesIntoDashboard(d);

  window.myTimer = 0;
  d.addEventListener('DOMNodeInserted', function() {
    if(window.timer) return;
    window.myTimer = setTimeout(function() {
      spreadImagesIntoDashboard(document);
      window.myTimer = 0;
    }, 200);
  });
  w.addEventListener('resize', function() {
    if(window.myTimer) return;
    window.myTimer = setTimeout(function() {
      spreadImagesIntoDashboard(document);
      window.myTimer = 0;
    }, 200);
  });
}())
&lt;/pre&gt;</content:encoded>
  </item>
  <item rdf:about="https://let.hatelabo.jp/yuta25/let/hJmc4vOC9qVx">
    <link>https://let.hatelabo.jp/yuta25/let/hJmc4vOC9qVx</link>
    <dc:date>2016-02-25T06:49:18Z</dc:date>
    <description>グーグルで似てる画像を探す</description>
    <dc:creator>yuta25</dc:creator>
    <title>[Let] グーグル画像検索</title>
    <content:encoded>&lt;a href="javascript:%28%28%29%3D%3E%7Blocation.href%3D%27https%3A%2F%2Fwww.google.com%2Fsearchbyimage%3F%26image_url%3D%27%2BencodeURIComponent%28location.href%29%7D%29%28%29%3B"&gt;グーグル画像検索&lt;/a&gt;&lt;pre&gt;/*
 * @title グーグル画像検索
 * @description グーグルで似てる画像を探す
 * @include http://*
 * @include https://*
 * @license MIT License
 * @require
 * @javascript_url 
 */

(() =&amp;gt; {location.href = 'https://www.google.com/searchbyimage?&amp;amp;image_url=' + encodeURIComponent(location.href)})()&lt;/pre&gt;</content:encoded>
  </item>
  <item rdf:about="https://let.hatelabo.jp/yuta25/let/hJmdwMea36hq">
    <link>https://let.hatelabo.jp/yuta25/let/hJmdwMea36hq</link>
    <dc:date>2015-09-11T05:24:08Z</dc:date>
    <description>イメージ→　https://www.google.co.jp/maps/@35.659457,139.70051,3a,75y,135.41h,84.12t/data=!3m4!1e1!3m2!1sdJ-QZu5MLMbtAfqyoN4ShQ!2e0</description>
    <dc:creator>yuta25</dc:creator>
    <title>[Let] &lt;marquee&gt; scramble</title>
    <content:encoded>&lt;a href="javascript:%28function%28%29%7Bfunction%20randomDirection%28%29%7Bvar%20directions%3D%5B%27left%27%2C%27right%27%2C%27up%27%2C%27down%27%5D%3Breturn%20directions%5BMath.floor%28Math.random%28%29%2A4%29%5D%7Dfunction%20randomBehavior%28direction%29%7Bif%28direction%3D%3D%27up%27%7C%7Cdirection%3D%3D%27down%27%29%7Breturn%27scroll%27%7Delse%7Bvar%20behaviors%3D%5B%27alternate%27%2C%27scroll%27%5D%3Breturn%20behaviors%5BMath.floor%28Math.random%28%29%2A2%29%5D%7D%7Dfunction%20marquee%28tagName%29%7Bvar%20elements%3Ddocument.getElementsByTagName%28tagName%29%3Bfor%28var%20i%3D0%2Clength%3Delements.length%3Bi%3Clength%3Bi%2B%2B%29%7Bvar%20children%3Delements%5Bi%5D.querySelectorAll%28tagName%29%3Bif%28%21elements%5Bi%5D.hasAttribute%28%27data-marquished%27%29%26%26%28children%3D%3Dnull%7C%7Cchildren.length%3D%3D0%29%29%7Bvar%20parent%3Delements%5Bi%5D.parentNode%3Bvar%20marquee%3Ddocument.createElement%28%27marquee%27%29%3Bvar%20direction%3DrandomDirection%28%29%3Bmarquee.setAttribute%28%27scrollamount%27%2C%2715%27%29%3Bmarquee.setAttribute%28%27direction%27%2Cdirection%29%3Bmarquee.setAttribute%28%27behavior%27%2CrandomBehavior%28direction%29%29%3Bparent.insertBefore%28marquee%2Celements%5Bi%5D%29%3Bmarquee.appendChild%28elements%5Bi%5D%29%3Belements%5Bi%5D.setAttribute%28%27data-marquished%27%2C%27true%27%29%7D%7D%7Dfunction%20marqueeScramble%28%29%7Bvar%20tags%3D%5B%27div%27%2C%27p%27%2C%27ul%27%2C%27table%27%2C%27a%27%2C%27iframe%27%2C%27dt%27%2C%27dd%27%2C%27img%27%2C%27h1%27%2C%27h2%27%2C%27h3%27%2C%27h4%27%2C%27h5%27%2C%27span%27%5D%3Bfor%28var%20i%3D0%3Bi%3Ctags.length%3Bi%2B%2B%29%7Bmarquee%28tags%5Bi%5D%29%7D%7DmarqueeScramble%28%29%3Bvar%20timer%3D0%3Bdocument.addEventListener%28%27DOMNodeInserted%27%2C%28function%28%29%7Bif%28timer%29return%3Btimer%3DsetTimeout%28%28function%28%29%7BmarqueeScramble%28%29%3Btimer%3D0%7D%29%2C500%29%7D%29%2Cfalse%29%7D%29%28%29%3B"&gt;&amp;lt;marquee&amp;gt; scramble&lt;/a&gt;&lt;pre&gt;/*
 * @title &amp;lt;marquee&amp;gt; scramble
 * @description イメージ→　https://www.google.co.jp/maps/@35.659457,139.70051,3a,75y,135.41h,84.12t/data=!3m4!1e1!3m2!1sdJ-QZu5MLMbtAfqyoN4ShQ!2e0
 * @include http://*
 * @license MIT License
 * @javascript_url
 */

(function() {
  function randomDirection() {
    var directions = ['left', 'right', 'up', 'down'];
    return directions[Math.floor(Math.random() * 4)];
  }

  function randomBehavior(direction) {
    if (direction == 'up' || direction == 'down') {
      return 'scroll';
    } else {
      var behaviors = ['alternate', 'scroll'];
      return behaviors[Math.floor(Math.random() * 2)];
    }
  }

  function marquee(tagName) {
    var elements = document.getElementsByTagName(tagName);
    for (var i = 0,length = elements.length; i &amp;lt; length; i++) {
      var children = elements[i].querySelectorAll(tagName);
      if (!elements[i].hasAttribute('data-marquished') &amp;amp;&amp;amp; (children == null || children.length == 0)) {
        var parent = elements[i].parentNode;
        var marquee = document.createElement('marquee');
        var direction = randomDirection();
        marquee.setAttribute('scrollamount', '15');
        marquee.setAttribute('direction', direction);
        marquee.setAttribute('behavior', randomBehavior(direction));
        parent.insertBefore(marquee, elements[i]);
        marquee.appendChild(elements[i]);
        elements[i].setAttribute('data-marquished', 'true');
      }
    }
  }

  function marqueeScramble() {
    var tags = ['div', 'p', 'ul', 'table', 'a', 'iframe', 'dt', 'dd', 'img', 'h1', 'h2', 'h3', 'h4', 'h5', 'span'];
    for (var i = 0; i &amp;lt; tags.length; i++) {
      marquee(tags[i]);
    }
  }

  marqueeScramble();
  
  var timer  = 0;
  document.addEventListener('DOMNodeInserted', function() {
    if(timer) return;
    timer = setTimeout(function() {
      marqueeScramble();
      timer = 0;
    }, 500);
  }, false);
}());
&lt;/pre&gt;</content:encoded>
  </item>
  <item rdf:about="https://let.hatelabo.jp/yuta25/let/hJmf5_3V9vtf">
    <link>https://let.hatelabo.jp/yuta25/let/hJmf5_3V9vtf</link>
    <dc:date>2015-08-19T04:10:12Z</dc:date>
    <description>copyright-protect all imgs</description>
    <dc:creator>yuta25</dc:creator>
    <title>[Let] copyright-protect</title>
    <content:encoded>&lt;a href="javascript:%2F%2A%0A%20%2A%20%40title%20copyright-protect%0A%20%2A%20%40description%20copyright-protect%20all%20imgs%0A%20%2A%20%40include%20http%3A%2F%2F%2A%0A%20%2A%20%40license%20MIT%20License%0A%20%2A%20%40javascript_url%0A%20%2A%2F%0A%2F%2F%20copyright-protector%3A%20https%3A%2F%2Fgithub.com%2Fdlwr%2Fcopyright-protector%0A%28function%28%29%7Bvar%20protector%3D%27http%3A%2F%2Fcopyright-protector.herokuapp.com%2Fprotected.png%27%3Bvar%20host%3Dlocation.href.match%28%2F%5E%5Bhttpsfile%5D%2B%3A%5C%2F%7B2%2C3%7D%5B0-9a-z%5C.%5C-%3A%5D%2B%3F%3A%3F%5B0-9%5D%2A%3F%5C%2F%2Fi%29%5B0%5D%3Bvar%20currentDir%3Dlocation.href.match%28%2F%5E%28.%2A%5C%2F%29%28%5B%5E%5C%2F%5D%2A%29%24%2F%29%5B1%5D%3BArray.prototype.forEach.call%28document.querySelectorAll%28%27img%27%29%2C%28function%28img%29%7Bvar%20src%3Bif%28%2F%5E%5Bhttpsfile%5D%2B%3A%5C%2F%7B2%2C3%7D%2F.test%28img.src%29%29%7Bsrc%3Dimg.src%7Delse%20if%28%2F%5E%5C%2F%2F.test%28img.src%29%29%7Bsrc%3Dhost%2Bsrc.replace%28%2F%5E%5C%2F%2F%2C%27%27%29%7Delse%7Bsrc%3DcurrentDir%2Bimg.src%7Dimg.src%3Dprotector%2B%27%3Furl%3D%27%2BencodeURIComponent%28src%29%2B%27%26glitch%3Dtrue%27%7D%29%29%7D%29%28%29%3B"&gt;copyright-protect&lt;/a&gt;&lt;pre&gt;/*
 * @title copyright-protect
 * @description copyright-protect all imgs
 * @include http://*
 * @license MIT License
 * @javascript_url
 */

// copyright-protector: https://github.com/dlwr/copyright-protector

(function() {
  var protector = 'http://copyright-protector.herokuapp.com/protected.png';
  var host = location.href.match(/^[httpsfile]+:\/{2,3}[0-9a-z\.\-:]+?:?[0-9]*?\//i)[0];
  var currentDir = location.href.match(/^(.*\/)([^\/]*)$/)[1];
  Array.prototype.forEach.call(document.querySelectorAll('img'), function(img) {
    var src;
    if (/^[httpsfile]+:\/{2,3}/.test(img.src)) {
      src = img.src;
    } else if (/^\//.test(img.src)) {
      src = host + src.replace(/^\//, '');
    } else {
      src = currentDir + img.src;
    }
    img.src = protector + '?url=' + encodeURIComponent(src) + '&amp;amp;glitch=true';
  });
}());
&lt;/pre&gt;</content:encoded>
  </item>
</rdf:RDF>
