このページを?る (Pawoo)

    @@ -1,25 +1,52 @@ /* * @title このページを?る - * @description 今開いているページのタイトルと URL を pawoo.net でトゥートするための確認画面を開きます。 + * @description 今開いているページのタイトルと URL (と選択テキスト) をマストドンでトゥートするためのウィンドウを開きます。 * @include * * @license MIT License * @javascript_url */ /* -一行にしたの: -void(open('https://pawoo.net/intent/statuses/new?text='+encodeURIComponent(document.title+'\n'+((document.querySelector('head meta[property="og:url"][content]')||{}).content||(document.querySelector('head link[rel="canonical"][href]')||{}).href||location.href)))); +https://github.com/tootsuite/mastodon/commit/c452e0b250c4484e2bbc3eed7fa65af8a473c301 +が本家に来た時用に拡張した。 +https://mstdn.maud.io/@hota/1686580 +コンフリクト起こってるらしい。 +*/ + +((i, d = document, s = ('' + getSelection()).trim(), p) => { + + f = e => { + + open('https://' + (e.target ? e.target.textContent : e) + '/intent/statuses/new?text=' + + encodeURIComponent(d.title + '\n' + ( + // 元のコード: https://gist.github.com/noromanba/d730ccf3ae5e6916cd60 + (d.querySelector('head meta[property="og:url"][content]') || {}).content || + (d.querySelector('head link[rel="canonical"][href]') || {}).href || + location.href + ) + (s.length ? `\n"${s}"` : ''))); + + if (p) d.body.removeChild(p); -あえて canonical じゃない URL にしたい場合の: -void(open('https://pawoo.net/intent/statuses/new?text='+encodeURIComponent(document.title+'\n'+location.href))); + }; + + if (i.length == 1) return f(i[0]); + + p = d.body.appendChild(Object.assign(d.createElement('fieldset'), { + style: `background-color: white; position: fixed; z-index: ${Number.MAX_SAFE_INTEGER}; top: 0; bottom: 0; left: 0; right: 0; margin: auto; padding: 1em; width: 20em; height: ${i.length + 1}em;` + })); + i.forEach(n => + p.appendChild(Object.assign(d.createElement('button'), { + textContent: n, + style: 'all: initial; background: silver; color: black; border:1px solid gray; display: block; margin: auto; height: 1em;' + })).addEventListener('click', f) + ); + +})([ +/* +ひとつまで減らすと選択肢出ずにそのまま窓が開く */ +'pawoo.net', +//'mstdn.jp', +//'friends.nico', -void(open( - 'https://pawoo.net/intent/statuses/new?text=' - + encodeURIComponent(document.title + '\n' + ( - // 元のコード: https://gist.github.com/noromanba/d730ccf3ae5e6916cd60 - (document.querySelector('head meta[property="og:url"][content]') || {}).content || - (document.querySelector('head link[rel="canonical"][href]') || {}).href || - location.href - )) -)); +]);
  • /*
     * @title このページを?る
     * @description 今開いているページのタイトルと URL (と選択テキスト) をマストドンでトゥートするためのウィンドウを開きます。
     * @include *
     * @license MIT License
     * @javascript_url
     */
    
    /*
    https://github.com/tootsuite/mastodon/commit/c452e0b250c4484e2bbc3eed7fa65af8a473c301
    が本家に来た時用に拡張した。
    https://mstdn.maud.io/@hota/1686580
    コンフリクト起こってるらしい。
    */
     
    ((i, d = document, s = ('' + getSelection()).trim(), p) => {
    
    	f = e => {
    
    		open('https://' + (e.target ? e.target.textContent : e) + '/intent/statuses/new?text='
    		+ encodeURIComponent(d.title + '\n' + (
    			// 元のコード: https://gist.github.com/noromanba/d730ccf3ae5e6916cd60
    			(d.querySelector('head meta[property="og:url"][content]') || {}).content ||
    			(d.querySelector('head link[rel="canonical"][href]') || {}).href ||
    			location.href
    		) + (s.length ? `\n"${s}"` : '')));
    
    		if (p) d.body.removeChild(p);
    
    	};
    
    	if (i.length == 1) return f(i[0]);
    
    	p = d.body.appendChild(Object.assign(d.createElement('fieldset'), {
    		style: `background-color: white; position: fixed; z-index: ${Number.MAX_SAFE_INTEGER}; top: 0; bottom: 0; left: 0; right: 0; margin: auto; padding: 1em; width: 20em; height: ${i.length + 1}em;`
    	}));
    	i.forEach(n => 
    		p.appendChild(Object.assign(d.createElement('button'), {
    			textContent: n,
    			style: 'all: initial; background: silver; color: black; border:1px solid gray; display: block; margin: auto; height: 1em;'
    		})).addEventListener('click', f)
    	);
    
    })([
    /*
    ひとつまで減らすと選択肢出ずにそのまま窓が開く
    */
    'pawoo.net',
    //'mstdn.jp',
    //'friends.nico',
    
    ]);
  • Permalink
    このページへの個別リンクです。
    RAW
    書かれたコードへの直接のリンクです。
    Packed
    文字列が圧縮された書かれたコードへのリンクです。
    Userscript
    Greasemonkey 等で利用する場合の .user.js へのリンクです。
    Loader
    @require やソースコードが長い場合に多段ロードする Loader コミのコードへのリンクです。
    Metadata
    コード中にコメントで @xxx と書かれたメタデータの JSON です。

History

  1. 2017/09/10 23:10:31 - 2017-09-10
  2. 2017/08/29 18:55:15 - 2017-08-29
  3. 2017/05/01 14:56:33 - 2017-05-01
  4. 2017/04/27 13:48:15 - 2017-04-27