非公開 マストドン横断検索から Pawoo の /web/statuses/ に飛ぶボタン

  • /*
     * @title マストドン横断検索から Pawoo の /web/statuses/ に飛ぶボタン
     * @description アクセストークンを手軽に使うために /web/ で 開きます。
     * @include http://mastodonsearch.jp/cross/*
     * @license MIT License
     * @javascript_url
     * @private
     */
    
    (d => 
    	[...d.querySelectorAll('.mst_ref>a[href*="@"]')].forEach(a => 
    		a.parentNode.appendChild(Object.assign(d.createElement('button'), {
    		 textContent: '?',
    		 value: a.href,
    		 style: 'all: initial;'
    		})).addEventListener('click', (e, h, m, w) => {
    			h = e.target.value;
    			m = h.match(/^https:\/\/pawoo\.net\/@.+?\/(\d+)/);
    			w = i => open('https://pawoo.net/web/statuses/' + i, 'pawoo');
    
    			if (!m) fetch('https://pawoo.net/api/v1/search?q=' + encodeURIComponent(h))
    			 .then(r => r.json()).then(j => (
    				j.statuses && j.statuses.length && w(j.statuses[0].id)
    			 ));
    			 else w(m[1]);
    		})
    	)
    )(document);
  • Permalink
    このページへの個別リンクです。
    RAW
    書かれたコードへの直接のリンクです。
    Packed
    文字列が圧縮された書かれたコードへのリンクです。
    Userscript
    Greasemonkey 等で利用する場合の .user.js へのリンクです。
    Loader
    @require やソースコードが長い場合に多段ロードする Loader コミのコードへのリンクです。
    Metadata
    コード中にコメントで @xxx と書かれたメタデータの JSON です。

History

  1. 2017/05/10 00:17:35 - 2017-05-10