昨年度の話、もしくは1年Mastodonで暮らした結果
芝が生えた*1。
あとSKK*2使いになって半年は経った。割と肌に合うらしい*3。
そういえば落書きもたくさんしたね*4。iPad Pro ほしい*5。
LTの雑スライドに使えそうな数字群*6
- 52k posts
- 59k favorites
- 136 merged PRs
- 30 commits on forks (kirakiratter/kktCSS, mstdn.maud.io, etc.)
- 5 bookmarklets
- 15 custom styles (rules)
- 18 user scripts
- 英文を読み書きした回数: たくさん(例年*7に比べて)
そうこうしてたら一年経っていたとお考えください。ツケがまわってきたので最近contributionも大人しくなってますが。
制作物もろもろ
Mastodon関係ないやつ
- MDN Translation Helper
MDN*8の記事を翻訳する時のあれこれを自動化するUserScript。私自身はご無沙汰ですが…。 - T/U box - Hatena::Let
見ているWebページのタイトルとURLをコピペするブックマークレット。ogpやcanonicalからWebサイト製作者の望むパーマリンクを取得しようとしたり、ぐぐるや密林のURLから余分なパラメータを取り除いたりもします。WebShareAPIが使えればそれも使えます*9。
UserScript
- Mastodon - Open status/account on dropping URLs
投稿やアカウントのURLをWebUIにドラッグドロップすると、それをWebUI内で開くやつ。複数鯖でMastodonを使っている人はもちろん、domain/@user/12345なURLで投稿を見てふぁぼやブーストしたい時にもサッとできて便利。 - Mastodon - Open post link in WebUI
投稿中に書かれたURLの直前に追加された吹き出しアイコンをクリックすると、WebUI内で開けたら開くやつ。連合の投稿URLとか、鳥の投稿URLとか、渋のURLとかとか。対応してないURLにも追加されるのは諦めて。 - Mastodon - Make fullscreen on clicking media modal
添付画像をクリックしてポップアップ表示されたところから、さらにその画像をクリックすることで全画面表示にするやつ。 - :don: - Add web+mastodon://follow link to user page
domain/@userなユーザーページにリモートフォローのリンクを足すやつ。web+mastodonはWebUI開いてちょっと待つと「登録しますか?」とか聞いてくるあれです。 - Mastodon - 期限付きミュート
- Pixiv - Replace "Pawooでシェア" with web+mastodon button
Pawooに限定した方が楽なのはわかるけど、惜しいなあ。
2カラムレイアウト関連(最近のバージョンだとちょっと挙動が怪しい)
開発者向け
UserStyle
/* 単体のカスタム絵文字を大きくする(雑判定) */ p > .emojione[alt^=":"]:only-child { width: 2.5em; height: 2.5em; margin: 0; } /* 「アニメーションの動きを減らす」向けの調整 */ .compose-form > div:first-child { opacity: 1 !important; } .modal-root { transition: opacity .2s } /* 色々小さくする */ .search__input, .autosuggest-textarea__textarea { font-size: 13px !important; } .status__info { font-size: 13px; } .status__content, .reply-indicator__content { font-size: 13px; line-height: 19px; } .status__action-bar { margin-top: 5px; } /* ユーザー詳細でアバターにカーソル乗せた時のアニメーションを(ry */ .account__header__avatar { border-radius: 100% !important; transition: .5s;} .account__header__avatar:hover { border-radius: 8% !important; transition: .5s; } /* 縦に長い投稿を省略 */ .status__content--with-action { max-height: 30em; overflow: hidden; } /* リモート宛のメンションでドメインの頭文字を表示(可能なら) */ /* [...Array(26).keys()].map(i => String.fromCharCode(97 + i)).map(c => `a.mention[title*="@${c}"]:after { content: "@${c}…" }`).join("\r\n") */ a.mention[title*="@a"]:after { content: "@a…" } a.mention[title*="@b"]:after { content: "@b…" } a.mention[title*="@c"]:after { content: "@c…" } a.mention[title*="@d"]:after { content: "@d…" } a.mention[title*="@e"]:after { content: "@e…" } a.mention[title*="@f"]:after { content: "@f…" } a.mention[title*="@g"]:after { content: "@g…" } a.mention[title*="@h"]:after { content: "@h…" } a.mention[title*="@i"]:after { content: "@i…" } a.mention[title*="@j"]:after { content: "@j…" } a.mention[title*="@k"]:after { content: "@k…" } a.mention[title*="@l"]:after { content: "@l…" } a.mention[title*="@m"]:after { content: "@m…" } a.mention[title*="@n"]:after { content: "@n…" } a.mention[title*="@o"]:after { content: "@o…" } a.mention[title*="@p"]:after { content: "@p…" } a.mention[title*="@q"]:after { content: "@q…" } a.mention[title*="@r"]:after { content: "@r…" } a.mention[title*="@s"]:after { content: "@s…" } a.mention[title*="@t"]:after { content: "@t…" } a.mention[title*="@u"]:after { content: "@u…" } a.mention[title*="@v"]:after { content: "@v…" } a.mention[title*="@w"]:after { content: "@w…" } a.mention[title*="@x"]:after { content: "@x…" } a.mention[title*="@y"]:after { content: "@y…" } a.mention[title*="@z"]:after { content: "@z…" } /* ピン留め投稿を折り畳む(微妙) */ article[data-id^="f-"] .status__wrapper:not(:focus) .status { padding-top: 0; min-height: 0; max-height: 0.5em; overflow: hidden; } article[data-id^="f-"] .status__wrapper:not(:focus) .status__avatar, article[data-id^="f-"] .status__wrapper:not(:focus) .display-name { display: none } /* unlisted投稿の右下に鍵マーク表示 */ .status-unlisted:after { display: block; position: absolute; width: 14px; height: 14px; right: 10px; bottom: 8px; font: 14px/1 FontAwesome; content: "\F13E"; /* fa-unlock-alt */ opacity: 0.3; }
*1:このグラフはGithubのユーザーページに表示されているもので、過去一年間のGithub上での活動量を色で表現したものです(縦に曜日、横に週が並ぶ)。その一年間においてより多く活動をした日が濃い色で表示されるので、例えばまんべんなく色がついていれば毎日同じようにコミットしたりissue/pr投げたりしていたねという感じです。その色から芝生などと呼ばれています。
*2:変換する範囲や送り仮名の位置をキー操作で明示して変換する、ちょっと変わった日本語入力システム。一見面倒に思えるが熱狂的なファンも多い(よくあるやつ)。詳しくはお好みの百科辞典サイトで。
*3:彼のどこが一番好きかと言われると、ひらがなカタカナが意図せず変換されることがない(ひらカナを強制するのは普通のIMEでもできるが、変換候補に挙がってこないし学習もされないのが大きい)ところなのかなあ。同音異義語の出しわけに弱い(単語単位で変換するので文脈を全く読まないし送り仮名も最後まで見ない)のが難点だけれど。
*4:日頃かわいいイラストをありがとうございます。こんなに描いてもらえるなんて思ってもみなかった。
*5:新しいiPad AirでもApplePencilは使えるけれど、スピーカー4つ魅力的じゃない?
*6:c.f. 林檎社とかの基調講演
*7:ほぼゼロ
*8:Mozilla Developer Network。JavaScriptに関して調べるとよく出てくる https://developer.mozilla.org/ja/docs/Web/JavaScript とかのことです。