/*
* @title 2011/02/14 にタイムスリップ
* @description スターがハートになります。
* @include *
* @license MIT License
* @javascript_url
*/
// http://d.hatena.ne.jp/hatenastar/20110214/1297662727
(() => {
if (typeof(Hatena) == 'undefined' || !Hatena.Star) return;
const v = ['', '-green', '-red', '-blue', '-purple', '-temp'];
// はてなブックマークはいきなりデフォルト値参照してたからデフォルト値変えざるを得ない
if (Hatena.Bookmark && Hatena.Bookmark.entry.url) {
const p = Hatena.Star.Star.ColorPallet;
v.forEach(r => {
r = r ? r.substr(1) : 'yellow';
p[r].ImgSrc = p[r].ImgSrc.replace(/star/, 'valentine-star');
});
} else {
const c = document.querySelector('head').appendChild(document.createElement('style'));
c.type = 'text/css';
v.forEach(
r => c.sheet.insertRule(`.hatena-star${r}-star-image {background-image: url('http:\u002F\u002Fs.hatena.ne.jp/images/valentine-star${r}.gif') !important}`, 0)
);
Hatena.Star.Star.gotImage = {};
}
Hatena.Star.EntryLoader.entries.forEach((e, n) => {
// http://var.blog.jp/archives/55466071.html
// e.flushStars() はスター情報まで空になる
e.star_container.innerHTML = '';
e.stars.forEach((s, i, a) => {
s.img = null;
// ついでに展開
if (s.showInnerStars) s.showInnerStars();
else a[i] = new Hatena.Star.Star(s);
});
e.addAddButton();
e.showStars();
});
})();