このページを?る
@@ -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 です。