提案 #1323
完了ツイートの添付画像のURLを1枚ずつ改行して表示する
説明
解決しようとする課題¶
現状の mikutter の twitter プラグインのツイート添付画像の URL表示は
複数枚画像が添付されている場合も各画像のURL がスペース区切りで一行で表示されますが、
全部で何枚添付されているのかがわかりにくい、どのURLが何枚目かがわかりづらい、
という問題があると思っています。
パッチ¶
Worldon の場合は各画像の URLを 1枚1行で表示しているようなので、
twitter プラグインでも同じ表示ができないか、と思っていろいろ調べて
適当に書いてみました。
0001-Tweet-URL.patch
表示例¶
オリジナル (mikutter 3.8.6)
パッチを当てた後
問題としては、本文が1文字もなくて画像のみが添付されているツイートでも
画像URLの前に改行が入ってしまうところでしょうか。
mikutter-uwm-hommage 等のサードパーティープラグインへの影響は把握できていません。
蛇足¶
パッチの最後を+ }.flat_map{|media| [newline, media, space] }
としてますが、最後の space を入れずに
+ }.flat_map{|media| [newline, media] }
とするとなぜか以下の状態になります。そういうもんなんでしょうか。
- 添付画像が1枚の場合 t.co が展開されない
- 添付画像が2枚以上の場合最後の画像のURLが出ない
ファイル
cob odo さんが5年以上前に更新
- }.flat_map{|media| [media, space] }
+ }.flat_map{|media| [newline, media, space] }
result.pop
このコードのresult.pop
は、最後に付く余分なspace
を削除するためにあります。
- }.flat_map{|media| [media, space] }
+ }.flat_map{|media| [newline, media] }
result.pop
とする場合、直後のresult.pop
があるままだと、最後のmedia
が消えてしまいます。本文と添付画像リンクの間に改行が必要ない場合はresult.pop
をresult.shift
に変更、改行が必要な場合はresult.pop
の行自体を消すのがいいんじゃないでしょうか。
個人的には後者が好みです。その場合、こうなると思います。
- }.flat_map{|media| [media, space] }
- result.pop
+ }.flat_map{|media| [newline, media] }
Izumi Tsutsui さんが5年以上前に更新
このコードの
result.pop
は、最後に付く余分なspace
を削除するためにあります。
解説ありがとうございます。納得しました。
個人的には後者が好みです。その場合、こうなると思います。
本文との間に改行があったほうがよいけれど、本文がからのときは改行はないほうがいいなあ、
などと思ったりしますが、そこまでこだわるほどでもないので後者でパッチを更新しました。
0001-Tweet-URL-2.patch
toshi_a 初音 さんが5年以上前に更新
- ステータス を パッチ適用待ち から レビュー待ち に変更
- 担当者 を Izumi Tsutsui にセット
- 対象バージョン を 3.9 にセット
- ブランチ を topic/1323-insert-newline-to-each-tweet-attachment-url にセット
良さそうですね。何も分からんけど 0001-Tweet-URL-2.patch をcommitしてみました。
Izumi Tsutsui さんが5年以上前に更新
- ステータス を レビュー待ち から マージ待ち に変更
topic/1323-insert-newline-to-each-tweet-attachment-url の
ブランチ元が 3.8.5 なのはなぜだろう、
と思いながら確認しました。問題ありません。