提案 #1159
未完了「ツイートのURLをコピー」「コメント付きリツイート」を他のWorldに配慮する
説明
現状は他のWorldでも「ツイートのURLをコピー」「コメント付きリツイート」になっているので
なんかいい感じのメッセージにしたいですね。
- Worldでメッセージを上書きする……できるのか?
- どのWorldでも使える無難なメッセージにする
なんか前者はなんかあまりそういうのやりたくないなあと(World開発する側的に)は思うのですが、
後者は後者で難しそうだなぁ、、、と思いました。
ファイル
toshi_a 初音 さんがほぼ7年前に更新
- 期日 を 2018-06-20 にセット
- Worldでメッセージを上書きする……できるのか?
- どのWorldでも使える無難なメッセージにする
俺も後者のほうが良いかなと思います。Worldを提供するプラグインはどのようなコマンドが提供されるか予め分かっていないからです。
あと後者の方だとテキストを変えるだけなので実装難易度も低いため、後々考え方が変わって修正するにしても手戻りが少なくて良さそうです。
Akira Ouchi さんが6年以上前に更新
- トラッカー を 機能 から 提案 に変更
- ステータス を 新規 から 実装待ち に変更
- 期日 を削除 (
2018-06-20) - 開始日 を削除 (
2018-01-26)
Akira Ouchi さんが6年以上前に更新
メッセージよさそうですね。
はてなハイクだと単位はエントリーでした。エントリーってもはやあまり聞かないけど。
あとは何でしょうね。Permalink?
cob odo さんが6年以上前に更新
- ファイル aboutuser.patch aboutuser.patch を追加
「ユーザについて」コマンドの名前を変えるパッチを書きました。
- タイムラインに表示されるModelは
user
メソッドを持っていてDiva::Model
を返すのが要件 Diva::Model
はtitle
メソッドを持っていて、適宜オーバーライドされる(オーバーライドされなくても最低限呼ぶことはできる)。
ということを利用しています。
長過ぎると最悪画面からはみ出してしまってマズいかなと思い、適当な長さで切っています。
cob odo さんが6年以上前に更新
書いてから気づきましたが、Plugin::Twitter::User
のtitle
の実装が、
def title
"#{idname}(#{name})"
end
で、
:aboutuser
コマンドのタイトルでもUser
の場合だけ if defined? opt.messages.first and opt.messages.first.user.is_a?(User)
u = opt.messages.first.user
(_("%{screen_name}(%{name})について") % {
screen_name: u[:idname],
name: u[:name] }).gsub(/_/, '__')
と、同じように文字列を作成して表示しているので、
opt.messages.first.user.title
ですべて統一してしまってもいいかもしれません。toshi_a 初音 さんが5年以上前に更新
- 対象バージョン を 3.6 から 3.9 に変更
このチケットを忘れたまま一旦実装してしまったのですが、整理するために一旦現状を書きます。
現状¶
ツイートのURLをコピー¶
以下のようにすると、Model.registerで登録された名前が取得できます。
opt&.messages&.first&.class&.spec&.name
これを埋め込んで、 '%{model_label}のURLをコピー'
と、動的に作られるようにしました。例えば「TweetのURLをコピー」「トゥートのURLをコピー」などと表示されます。
コメント付きリツイート¶
そのままになっています。
方針¶
ツイートのURLをコピー¶
Modelによって動的に変えるのは難しいと書いていましたが、普通にできて、やっていることなので、単純に当てはめてしまいました。
ただ、ショートカットキー設定など、コマンドを単純に列挙するような場合は対象となるModelがないので、どのみち汎用的なタイトルは必要です。
汎用的なタイトルは、コンテキストメニューとあまりにもかけ離れていると分かりづらくなるので、あっきぃが提案した「メッセージのURLをコピー」が良いと思います(現在は、「この投稿」と表記してしまったが、対象がない文脈でこの表記は妙)。
コメント付きリツイート¶
「コメント付きリツイート」は、現在の挙動は(公式|非公式)リツイートとも全く無関係で、単にperma_linkを追加してコメントする形になっているようなので、全然違う名前がよさそうですね。
「URLを引用してコメントする」くらい説明的な方がいいのかなと思いますが、これだとin_reply_toが付くことが連想できないのと、本文中に登場するURLを引用するのかと誤解を招くかもしれません。
汎用的なタイトルとしては、ツイートのURLをコピーを踏襲して「メッセージのURLを引用してコメントする」などでどうでしょうか。
コンテキストメニューなどで対象がある場合は、「%{model_label}のURLを引用してコメントする」にして、「トゥートのURLを引用してコメントする」等と表示できます。