Skip to content

Instantly share code, notes, and snippets.

@kanonji
Created July 6, 2024 16:40
Show Gist options
  • Save kanonji/b496dec6d4cb4412c546a15182109750 to your computer and use it in GitHub Desktop.
Save kanonji/b496dec6d4cb4412c546a15182109750 to your computer and use it in GitHub Desktop.
Twitter(a.k.a x)の検索結果の中で、ユーザー名からヒットしたツイートを(不完全ながら)隠すStylus CSS
div[data-testid="cellInnerDiv"]:not(:has(div[data-testid="tweetText"]>span:not([dir="ltr"])+span:not([dir="ltr"]))) {
opacity: 0.15;
height: 53px;
overflow: hidden;
}
/*
Twitter(a.k.a x)の検索結果の中で、ユーザー名からヒットしたツイートを(不完全ながら)隠すStylus CSSです。
2023年8月頃にチャレンジして、誤判別する課題が取り除けず1度断念したものだけど、そこを許容できればある程度は使えるかもしれません。
あと、高度な検索を使うと破綻する場合もあった気がしますが、よく覚えてません。
不完全だけど、置いといたら分かる人が使えるかもしれないので、一応公開しておきます。
## 使用方法
※ 前述の通り不完全で、テストも十分にされてません。どこかの画面を想定外に破綻されてしまう可能性もあります。
拡張機能のStylusで適用する想定です。
メディアの検索などに適用しないために、CSSの適用先は以下の様に設定しています。
正規表現に一致するURL: `https://x.com/search\?q=.*&src=(typed_query|recent_search_click)(&f=live)?`
## 仕組み
ツイート文に入る検索ワードのハイライトがspan要素で、ハイライトがあるとspan要素が最低でも2個あるはずというのを利用しています。
検索ワードのハイライトがあるという事は、ユーザー名ではなく本文で検索されたツイートのはずという判断です。
しかし、span要素が2個というだけでは、本文に検索ワードのハイライトが無いツイートを含んでしまう場合があり、完全には判別できない状況です。
詳細は忘れましたが`data="ltr"`を持たないspan要素を指定してるのも、ハイライト以外の何かを除外しようとしたものだった気がします。
## 除外できない事が分かっているもの
* Hashtagを含む場合、本文に検索ワードが無くてもツイートは隠されず残ってしまいます。
* 詳細を忘れてしまったが、QTやURLによるカード表示などを含む場合、ツイートが隠されず残ってしまうケースがあった気がします。
## 注意
* ツイート本文に検索ワードを含んでいるのに隠してしまう場合があるかどうか、十分にテストされていません。
* ANDとかORとか`from:`などを使う高度な検索でどうなるかも十分に確認できていません。
* Twitterの仕様変更による動かなくなる可能性があります。
*/
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment