が
こうなります。
設定変えたり、アドレスバーに日付を入力するのがめんどくさかったので作ったのを置いとく。。例によって例の如く手抜き。閏年をまったく考えて無かったりとか、その他もろもろ。UTF-8 で保存しないと日本語が化ける。
// ==UserScript== // @name b_hatena_daily // @namespace http://d.hatena.ne.jp/tanku/ // @include http://b.hatena.ne.jp/* // ==/UserScript== var DISP_YEARS_OLD = 1 function create_a_href(href, text) { var a = document.createElement('a') a.setAttribute('href', href) a.appendChild(document.createTextNode(text)) return a } function create_years_element(disp_years_old) { var date = new Date() var day = (date.getDate()).toString() if (day.length < 2) {day = '0'+day} var mon = (date.getMonth()+1).toString() if (mon.length < 2) {mon = '0'+mon} var monday = mon+day var year = date.getFullYear() var add_elem = document.createElement('span') add_elem.appendChild(document.createTextNode(' ')) add_elem.appendChild(create_a_href(year+monday, '今日')) // location.href が日付だったら location.href の i 年前にする var iSep = location.href.lastIndexOf('/') var iPrm = location.href.lastIndexOf('?') var str = iPrm >= 0 ? location.href.substring(iSep+1, iPrm) : location.href.substring(iSep+1) if (str.length == 8) { var num = parseInt(str) if (num >= 19000000) { // 日付っぽい文字列かチェック(手抜き) year = Math.floor(num / 10000) monday = (num % 10000).toString() if (monday.length < 4) {monday = '0'+monday} } } for (var i = 1; i <= disp_years_old; ++i) { add_elem.appendChild(document.createTextNode(' ')) add_elem.appendChild(create_a_href((year-i)+monday, i+'年前')) } return add_elem } var add_elem = null var elems = document.getElementsByTagName('div') for (var i = 0; i < elems.length; ++i) { if (elems[i].className == 'pager') { if (!add_elem) {add_elem = create_years_element(DISP_YEARS_OLD)} elems[i].appendChild(add_elem) } }