このページを?る

    @@ -1,53 +1,25 @@ /* * @title このページを?る - * @description 今開いているページのタイトルと URL (と選択テキスト) をマストドンでトゥートするためのウィンドウを開きます。 + * @description 今開いているページのタイトルと URL (と選択テキスト) をマストドンでトゥートします。 * @include * * @license MIT License * @javascript_url */ /* -https://github.com/tootsuite/mastodon/commit/c452e0b250c4484e2bbc3eed7fa65af8a473c301 -が本家に来た時用に拡張した。 -https://mstdn.maud.io/@hota/1686580 -コンフリクト起こってるらしい。 +バージョン 1.6.0 以降のインスタンスで使用可能 +各インスタンスで web+mastodon プロトコルのアプリケーションとして登録する必要がある +Chrome はアドレスバー右端の♦が重なったようなマーククリックで登録できた +Firefox はアクセスしたらなんかページ上部に細長いダイアログ出てきた */ -((i, d = document, s = ('' + getSelection()).trim(), p) => { +((s = ('' + getSelection()).trim()) => { - 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}"` : '')), 'PawooIntent', - `width=450,height=300,left=${(screen.availWidth-450)/2|0},top=${(screen.availHeight-300)/2|0}` - ); - - 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) + open('web+mastodon://share?text=' + // ブックマークレット使ってるシチュエーションって canonical いらない気がしたから素の location.href に戻した + + encodeURIComponent(document.title + '\n' + location.href + (s.length ? `\n"${s}"` : '')), + 'MastodonShare', + `width=450,height=350,left=${(screen.availWidth-450)/2|0},top=${(screen.availHeight-300)/2|0}` ); -})([ -/* -ひとつまで減らすと選択肢出ずにそのまま窓が開く -*/ -'pawoo.net', -//'music.pawoo.net', - -]); +})();
  • /*
     * @title このページを?る
     * @description 今開いているページのタイトルと URL (と選択テキスト) をマストドンでトゥートします。
     * @include *
     * @license MIT License
     * @javascript_url
     */
    
    /*
    バージョン 1.6.0 以降のインスタンスで使用可能
    各インスタンスで web+mastodon プロトコルのアプリケーションとして登録する必要がある
    Chrome はアドレスバー右端の♦が重なったようなマーククリックで登録できた
    Firefox はアクセスしたらなんかページ上部に細長いダイアログ出てきた
    */
     
    ((s = ('' + getSelection()).trim()) => {
    
    	open('web+mastodon://share?text='
    	 // ブックマークレット使ってるシチュエーションって canonical いらない気がしたから素の location.href に戻した
    	 + encodeURIComponent(document.title + '\n' + location.href + (s.length ? `\n"${s}"` : '')),
    	 'MastodonShare',
    	 `width=450,height=350,left=${(screen.availWidth-450)/2|0},top=${(screen.availHeight-300)/2|0}`
    	);
    
    })();
  • Permalink
    このページへの個別リンクです。
    RAW
    書かれたコードへの直接のリンクです。
    Packed
    文字列が圧縮された書かれたコードへのリンクです。
    Userscript
    Greasemonkey 等で利用する場合の .user.js へのリンクです。
    Loader
    @require やソースコードが長い場合に多段ロードする Loader コミのコードへのリンクです。
    Metadata
    コード中にコメントで @xxx と書かれたメタデータの JSON です。

History

  1. 2017/09/10 23:09:55 - 2017-09-10
  2. 2017/09/10 23:08:20 - 2017-09-10