Endless_Summer_on_dsbd.user.js
// ==UserScript== // @name Endless Summer on dsbd // @namespace http://www.tumblr.com/ // @description random next link on dsbd // @include http://www.tumblr.com/dashboard/1 // @version 0.0.1 // ==/UserScript== if(!window.Minibuffer) return; var $X = window.Minibuffer.$X; (function () { var e = function(doc){ if(location.pathname.match(/dashboard(¥/1?)?$/)) { var i = $X('//ol[@id="posts"]/li[@id]', doc); if(i.length) i = i[0]; else return; GM_setValue('postno', id = i.id.match(/post([¥d]+)/)[1].toString()); } else return; } var f = function(doc){ var a = $X('id("pagination")/a[contains(text(), "Next page")]',doc); if (a.length) a = a[0]; else return; r = Math.floor(Math.random() * GM_getValue('postno', '6000000')); a.id = 'AutoPagerizeNextLink'; a.href = '/dashboard/1000/' + r; } e(document); f(document); if (window.AutoPagerize) window.AutoPagerize.addDocumentFilter(f); })();
http://www.tumblr.com/dashboard/1からスタートするとAutoPagerizeが繋ぐ次のページがランダムに呼び込まれます。一期一会感満載。時間軸が切り刻まれてモザイク。同じ繋りは二度と再現されません。たぶん。
ただ、どうも1ページ目が呼び込まれているときにすでに2ページ目が確定?しているらしくてランダムになるのは3ページ目からです。実行されるタイミングの問題があるみたいなので、順番はAutoPagirizeのできるだけすぐ後の方が良いみたい。
AutoPagerizeとMinibuffer必須ですけどminibufferの機能はほとんどつかってません。まあいいだろ、それくらい。なんかエラーの処理とかいるのかもしれんけど、そいうの全然なのと、あとスキルがイマイチなのでコードもそういう品質なのでヨロ。うまく動かなくてもマア気にすんな。
だれかが言っていた『一度潜ったら二度と浮き上がってこないdashboardがホンモノ』っていうのとか、cxx に教えてもらったヤツとか、インターネッツから拾ってきたコード片とか、いろんなモンにインスパイアされました。感謝多謝!!!
新しくなってます。http://taizooo.tumblr.com/post/69415607/endless-summer-on-dashboard-ver-0-0-3