Search in @cobodo

金具✅ cobodo@mstdn.kanagu.info

show_tweetもopen_smartthreadでいい気がする

金具✅ cobodo@mstdn.kanagu.info

「URL指定でツイートを表示」コマンドは、dialog DSLを使うともっとシンプルに書けるし、開くときもURLから数字を取り出すんじゃなくてopen()に渡してintentを使うようにすればもっと汎用的になりそうに見える。

金具✅ cobodo@mstdn.kanagu.info

なるほど

金具✅ 金具✅ reblogged at 7 years ago

Izumi Tsutsui tsutsuii@social.mikutter.hachune.net

任意の ID の Tweet を見るプラグインはおさけーさんのこれ (リクエストしたら作ってもらえた) github.com/osak/show_tweet

金具✅ cobodo@mstdn.kanagu.info

HyperLinkNoteに渡すhashに:worldon_annotationsみたいなキーを生やすか……

金具✅ cobodo@mstdn.kanagu.info

どうやって実現しようかなぁ

金具✅ cobodo@mstdn.kanagu.info

ともあれ、まずはdescriptionをなんとかしよう。

金具✅ cobodo@mstdn.kanagu.info

handleはもう書いてあるわけだし

金具✅ cobodo@mstdn.kanagu.info

任意のURLのやつはsmartthreadあたりのコード見てパチってこればよさそう

金具✅ cobodo@mstdn.kanagu.info

フォロー関係とかプロフィールとかは無視してAccoutモデルのintentでユーザーの直近タイムラインを取ってきて適当に作ったタブに投げ込むやつ作るか……

金具✅ cobodo@mstdn.kanagu.info

ユーザーのタイムラインを見るやつがめんどい理由 mstdn.kanagu.info/@cobodo/1000

金具✅ cobodo@mstdn.kanagu.info

twitterのMessageモデルがどうしたいかには一切踏み込まず、デフォルトで引数のModelのdescriptionを呼ぶだけのフィルタを使う提案を書いて、通ったらWorldon側でそれを使う改修を入れる感じか。

金具✅ cobodo@mstdn.kanagu.info

(まぁモンキーパッチすりゃどうとでもなるけど

金具✅ cobodo@mstdn.kanagu.info

前者はModel#descriptionメソッドで表明する。後者はscore_filterだけど追加できるのでModel自身にすべて制御できるわけではない。

金具✅ cobodo@mstdn.kanagu.info

Diva::Modelに関係するdescriptionには2種類あって、
1. Modelが表現する内容を記述した文字列
2. Modelを表示するときに使う文字列=score.map(&:description).join
ということになるか……

金具✅ cobodo@mstdn.kanagu.info

「本文をコピー」コマンドは(slugの通り)単に :copy_description するコマンドであって、表示のカスタマイズをscoreでやっているのだから敢えてコピー用のものを作る必要はない、という感じかもしれない。

金具✅ cobodo@mstdn.kanagu.info

うーん、twitterモデルに踏み込むのは微妙かなぁ……

金具✅ cobodo@mstdn.kanagu.info

表示用の表現と、コピーして他で再利用するための表現は、異なっていてもいいはず(少なくともMastodonでは異なる)ので、「本文をコピー」コマンドをフィルタ化してtwitterプラグインに適用させる提案を作らないといけない。

金具✅ cobodo@mstdn.kanagu.info

🎫1233が解決して🎫1286がscoreを使うようになれば、文字列選択コピーでのHTML実体参照問題は解決するだろうけど、「本文をコピー」ではそうはいかないと。

金具✅ cobodo@mstdn.kanagu.info

🎫1286は選択範囲の取得にscoreを使うようにすれば済むのかな。それに対して「本文をコピー」はPlugin::Twitter::Message#descriptionの実装(bodyメソッド)が
self[:message].to_s.freeze
となっていてURLがt.coのままになるだけでなくHTML実体参照が解除されない問題も含んでしまう。