The Whole World is peaceful.

endless summer on dashboard

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