未読のページにランダムジャンプするUserScript
実装方法思いついた
未読ラインがあるページに飛ぶまでランダムジャンプボタンを連打する
だんだん連打する回数が増えてゆく…
オペラント条件づけ
document.getElementsByClassName('random-jump-button')?.[0].click()をJavaScriptから実行するだけなので、オペラント条件づけは発生しません。
2021-01-27 07:42:06 完成した
sent to /customize/未読のページにランダムジャンプするUserScript
/icons/waai.iconyosider.iconerniogi.icon
全部のページ読んだら無限ループしてしまう…?
誰かが常に書き込んでいればセーフtakker.icon
お、おう
中毒性があるなyosider.iconyosider.icondnin.icon*2
すごい速度で何ページ分か飛ぶので、ルーレット感がある
普通ランダムってのはすぐになんかの値があればいいけど
いくつか表示されることで期待感が生まれる
/icons/なるほど.icon/icons/たしかに.icon
孤立したページを発見できる
未読かどうかをページを開くことなく判別する方法を見つけた
/scrapboxlab/api/pages/:projectname/:pagetitle#60046dd51280f000005c0635のlastAccessedと各行のupdatedとを比較すればい
書いてみたyosider.icon
/emoji/thx.icontakker.icon
方法書いただけで勝手に実装されるの最高
https://gyazo.com/4892859cfa0a6587e184eeb63a9b45d9
code:script.js
scrapbox.PageMenu.addMenu({
title: 'Jump to an unread page',
image: 'https://img.icons8.com/ios/180/shuffle.png',
onClick: () => {
const lines = document.getElementsByClassName('lines')?.0;
const observer = new MutationObserver(() => {
const unreadTelomeres = lines.getElementsByClassName('telomere-border unread');
if (unreadTelomeres.length > 0) {
console.log(/${scrapbox.Project.name}/${scrapbox.Page.title} is an unread page.);
observer.disconnect();
return;
}
document.getElementsByClassName('random-jump-button')?.0.click();
});
observer.observe(lines, {childList: true});
document.getElementsByClassName('random-jump-button')?.0.click();
},
});
未読のページにランダムジャンプするUserScript:遷移したページとその数をconsoleに吐くver
未読のページにランダムジャンプするUserScript:ページを開かずに未読を判定するver
未読のページにランダムジャンプするUserScript:ページを開かずに未読を判定&PageMenuのItemにログを表示するver