最新のホットエントリーの欄の近くに、1年前、2年前、3年前、4年前のはてなのホットエントリーへのリンクを表示するユーザースクリプト スクリプトはこれ // ==UserScript== // @name older_hotentry // @namespace http://mono-oki.net/ // @description show and easier access to older hatena hot entry // @include http://b.hatena.ne.jp/ // @include http://b.hatena.ne.jp/hotentry // @include http://b.hatena.ne.jp/hotentry/* // @author shibacow // ==/UserScript== (function() { var div = document.createElement('div'); function toStr(num) { var ml=""; if (num<10){ ml="0"+String(num); }else{ ml=String(num); } return ml; } function diff_days() { var today=new Date(); var epoch=new Date(2005,2,10); var one_day=1000*60*60*24; var days=(today.getTime()-epoch.getTime())/one_day; return days/365; } function diffyear(diff) { var targetyear = diff; var dt = new Date(); var yy = dt.getFullYear(); dt.setYear(yy-targetyear); var mt=dt.getMonth()+1; var ml=toStr(mt); var dl=toStr(dt.getDate()); var dstr=String(dt.getFullYear())+ml+dl; var al='http://b.hatena.ne.jp/hotentry?mode=daily&date='+dstr; var ak='<a href="'+al+'">'+dstr+'</a>'; return ak; } function in_line(){ var diff_years=diff_days(); var ys=""; for(i=1;i<diff_years;i=i+1) { ys=ys+" "+diffyear(i); } return ys; } div.innerHTML = "goto "+in_line(); var p = document.getElementById("hotentry"); if(p==null) { p=document.getElementById("container"); } p.insertBefore(div, p.firstChild); })(); |