これは何?
ブラウザでツイッターを使っています。
少し古いツイートを読んでいる時に、その前後のツイートを読みたいということがよくあります。
Twitterの検索コマンドを入力すればいいのですが、その手間すら省きたい、楽したいと思いませんか?
そういう時に使うと簡単にIDと期間を指定できるという、ものぐさな自分にぴったしなブックマークレットです。
使い方
特定のツイートが表示されている時に実行すると、日数を聞かれるので数字を入力します。
キャンセルした場合は当日(と前日)で検索した結果が表示されます。
tw_let.js
(
() => {
const path = location.href.split('/');
if (path[2].endsWith('twitter.com')) {
const status = path[5].split('?')[0];// no referer
const time = Math.floor(status/4194304) + 1288834974657;// convert rule
const date = new Date(time);
// number of days
let start = prompt('How many days?', '3');
let end = start;
if (isNaN(start) || start < 1 || start === null || start === '') {
start = 1;
end = 0;
}
// since
date.setDate(date.getDate() - start);
const since = date.toISOString().slice(0, 10);
// until
date.setDate(date.getDate() - (-start - end));
const until = date.toISOString().slice(0, 10);
// url
location.href = 'https://twitter.com/search?f=live&q=from:@' + path[3] +
'%20since:' + since +
'%20until:' + until;
}
}
)();
ネット上の JavaScript Minifier を使って短縮したものがこちらです。
tw_let.min.js
(()=>{const t=location.href.split("/");if(t[2].endsWith("twitter.com")){const e=t[5].split("?")[0],o=Math.floor(e/4194304)+1288834974657,i=new Date(o);let s=prompt("How many days?","3"),n=s;(isNaN(s)||s<1||null===s||""===s)&&(s=1,n=0),i.setDate(i.getDate()-s);const a=i.toISOString().slice(0,10);i.setDate(i.getDate()-(-s-n));const c=i.toISOString().slice(0,10);location.href="https://twitter.com/search?f=live&q=from:@"+t[3]+"%20since:"+a+"%20until:"+c}})();
まとめ
次の記事を参考にしました。感謝です。
https://qiita.com/riocampos/items/e5544325211976f2cfc1
以上、初投稿でした。
お疲れ様でした。