<?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/fmimali/rss">
    <link>https://let.hatelabo.jp/fmimali/rss</link>
    <description></description>
    <title>Bookmarklets from fmimali</title>
    <items>
      <rdf:Seq>
        <rdf:li rdf:resource="https://let.hatelabo.jp/fmimali/let/hLHW-s2jm699"/>
      </rdf:Seq>
    </items>
  </channel>
  <item rdf:about="https://let.hatelabo.jp/fmimali/let/hLHW-s2jm699">
    <link>https://let.hatelabo.jp/fmimali/let/hLHW-s2jm699</link>
    <dc:date>2018-02-15T15:25:25Z</dc:date>
    <description>ハースストーンのデッキを日本語に翻訳します。ポップアップを許可して使ってね</description>
    <dc:creator>fmimali</dc:creator>
    <title>[Let] ハース翻訳</title>
    <content:encoded>&lt;a href="javascript:var%20deck_name%2Cauthor%3Bvar%20cards%3D%5B%5D%3Bvar%20href%3Dwindow.location.href%3Bif%28href.startsWith%28%27https%3A%2F%2Fwww.hearthpwn.com%2Fdecks%2F%27%29%29%7Bdeck_name%3DencodeURIComponent%28document.querySelector%28%27h2.deck-title.tip%27%29.textContent%29%3Bauthor%3Ddocument.querySelector%28%27%23content%20section.user-details%20ul.user%20li.name%20a.tip%27%29.textContent.trim%28%29%3Bvar%20cc%3Ddocument.querySelectorAll%28%27table%23cards%20tr%20td%20b%20a%27%29%3Bfor%28var%20i%3D0%3Bi%3Ccc.length%3Bi%2B%2B%29%7Bvar%20card%3Dcc%5Bi%5D%3Bvar%20c%3Dcard.getAttribute%28%27data-count%27%29%3Bvar%20n%3Dcard.textContent.trim%28%29%3Bcards.push%28%5Bn%2Cc%5D%29%7D%7Delse%20if%28href.startsWith%28%27http%3A%2F%2Fwww.hearthhead.com%2Fdecks%2F%27%29%29%7Bdeck_name%3DencodeURIComponent%28window.HearthHeadData.deck.name%29%3Bauthor%3DencodeURIComponent%28window.HearthHeadData.deck.username%29%3Bvar%20cc%3Dwindow.HearthHeadData.deck.cards%3Bvar%20set%3Dnew%20Set%3Bfor%28var%20i%3D0%3Bi%3Ccc.length%3Bi%2B%2B%29%7Bvar%20card%3Dcc%5Bi%5D%3Bvar%20n%3Dcard.name%3Bif%28set.has%28n%29%29%7Bcards.push%28%5Bn%2C2%5D%29%3Bset.delete%28n%29%7Delse%7Bset.add%28n%29%7D%7Dfor%28let%20name%20of%20set.values%28%29%29%7Bcards.push%28%5Bname%2C1%5D%29%7D%7Delse%20if%28href.startsWith%28%27http%3A%2F%2Fwww.hearthstonetopdecks.com%2Fdecks%2F%27%29%29%7Bdeck_name%3DencodeURIComponent%28document.title%29%3Bauthor%3DencodeURIComponent%28%28document.querySelector%28%27div.player-wrap%20h2%20a%27%29%7C%7C%27%3F%27%29.textContent%29%3Bvar%20cc%3Ddocument.querySelectorAll%28%27ul.deck-class%20li%27%29%3Bfor%28var%20i%3D0%3Bi%3Ccc.length%3Bi%2B%2B%29%7Bvar%20card%3Dcc%5Bi%5D%3Bvar%20n%3Dcard.querySelector%28%27a%20span.card-name%27%29.textContent.trim%28%29%3Bvar%20c%3Dcard.querySelector%28%27span.card-count%27%29.textContent.trim%28%29%3Bcards.push%28%5Bn%2Cc%5D%29%7D%7Delse%20if%28href.startsWith%28%27https%3A%2F%2Ftempostorm.com%2Fhearthstone%2Fdecks%2F%27%29%29%7Bdeck_name%3DencodeURIComponent%28document.title%29%3Bauthor%3DencodeURIComponent%28%28document.querySelector%28%27a.m-r-sm%27%29%7C%7C%27%3F%27%29.textContent%29%3Bvar%20cc%3Ddocument.querySelectorAll%28%27div.db-deck-card-name%27%29%3Bvar%20qq%3Ddocument.querySelectorAll%28%27div.db-deck-card-qty%27%29%3Bfor%28var%20i%3D0%3Bi%3Ccc.length%3Bi%2B%2B%29%7Bvar%20card%3Dcc%5Bi%5D%3Bvar%20n%3Dcc%5Bi%5D.textContent.trim%28%29%3Bvar%20c%3Dqq%5Bi%5D.textContent.trim%28%29%3Bcards.push%28%5Bn%2Cc%5D%29%7D%7Delse%7Bwindow.open%28%27http%3A%2F%2Fwww.hearth.tokyo%2Funsupported%27%29%7Dvar%20data%3D%27deck_name%3D%27%2Bdeck_name%2B%27%26%27%2B%27author%3D%27%2Bauthor%2B%27%26%27%2B%27url%3D%27%2Bhref%2B%27%26%27%3Bfor%28i%3D0%3Bi%3Ccards.length%3Bi%2B%2B%29%7Bvar%20n_key%3D%27n%27%2Bi%3Bvar%20c_key%3D%27c%27%2Bi%3Bvar%20name%3Dcards%5Bi%5D%5B0%5D%3Bvar%20count%3Dcards%5Bi%5D%5B1%5D%3Bdata%3Ddata%2Bn_key%2B%27%3D%27%2Bname%2B%27%26%27%3Bdata%3Ddata%2Bc_key%2B%27%3D%27%2Bcount%2B%27%26%27%7Dvar%20params%3DencodeURI%28data%29%3Bwindow.open%28%27http%3A%2F%2Fwww.hearth.tokyo%2Ftranslate%3F%27%2Bparams%29%3B"&gt;ハース翻訳&lt;/a&gt;&lt;pre&gt;/*
 * @title ハース翻訳
 * @description ハースストーンのデッキを日本語に翻訳します。ポップアップを許可して使ってね
 * @include http://www.hearthpwn.com/decks/*
 * @include http://www.hearthhead.com/decks/*
 * @include http://hearthstone.metabomb.net/deck-guides/*
 * @include http://www.hearthstonetopdecks.com/decks/*
 * @include https://tempostorm.com/hearthstone/decks/*
 * @license MIT License
 * @javascript_url
 */
var deck_name, author;
var cards = [];
var href = window.location.href;
if (href.startsWith('https://www.hearthpwn.com/decks/')) {
    deck_name = encodeURIComponent(document.querySelector('h2.deck-title.tip').textContent);
    author = document.querySelector('#content section.user-details ul.user li.name a.tip').textContent.trim();
    var cc = document.querySelectorAll('table#cards tr td b a');
    for (var i = 0; i &amp;lt; cc.length; i++) {
        var card = cc[i];
        var c = card.getAttribute('data-count');
        var n = card.textContent.trim();
        cards.push([n, c]);
    }
} else if (href.startsWith('http://www.hearthhead.com/decks/')) {
    deck_name = encodeURIComponent(window.HearthHeadData.deck.name);
    author = encodeURIComponent(window.HearthHeadData.deck.username);
    var cc = window.HearthHeadData.deck.cards;
    var set = new Set();
    for (var i = 0; i &amp;lt; cc.length; i++) {
        var card = cc[i];
        var n = card.name;
        if (set.has(n)) {
            cards.push([n, 2]);
            set.delete(n);
        } else {
            set.add(n);
        }
    }
    for (let name of set.values()) {
        cards.push([name, 1]);
    }
} else if (href.startsWith('http://www.hearthstonetopdecks.com/decks/')) {
    deck_name = encodeURIComponent(document.title);
    author = encodeURIComponent((document.querySelector('div.player-wrap h2 a') || '?').textContent);
    var cc = document.querySelectorAll('ul.deck-class li');
    for (var i = 0; i &amp;lt; cc.length; i++) {
        var card = cc[i];
        var n = card.querySelector('a span.card-name').textContent.trim();
        var c = card.querySelector('span.card-count').textContent.trim();
        cards.push([n, c]);
    }
} else if (href.startsWith('https://tempostorm.com/hearthstone/decks/')) {
    deck_name = encodeURIComponent(document.title);
    author = encodeURIComponent((document.querySelector('a.m-r-sm') || '?').textContent);
    var cc = document.querySelectorAll('div.db-deck-card-name');
    var qq = document.querySelectorAll('div.db-deck-card-qty');
    for (var i = 0; i &amp;lt; cc.length; i++) {
        var card = cc[i];
        var n = cc[i].textContent.trim();
        var c = qq[i].textContent.trim();
        cards.push([n, c]);
    }
} else {
    window.open('http://www.hearth.tokyo/unsupported');
}
var data = 'deck_name=' + deck_name + '&amp;amp;' + 'author=' + author + '&amp;amp;' + 'url=' + href + '&amp;amp;';
for (i = 0; i &amp;lt; cards.length; i++) {
    var n_key = 'n' + i;
    var c_key = 'c' + i;
    var name = cards[i][0];
    var count = cards[i][1];
    data = data + n_key + '=' + name + '&amp;amp;';
    data = data + c_key + '=' + count + '&amp;amp;';
}
var params = encodeURI(data);
window.open('http://www.hearth.tokyo/translate?' + params);
&lt;/pre&gt;</content:encoded>
  </item>
</rdf:RDF>
