blink-star

はてなブックマークにて、自分が付けたスターを点滅させて見分けがつくようにします。

  1. // ==UserScript==
  2. // @name blink-star
  3. // @namespace jp.hateblo.htsign
  4. // @description はてなブックマークにて、自分が付けたスターを点滅させて見分けがつくようにします。
  5. // @match http://b.hatena.ne.jp/*
  6. // @match https://b.hatena.ne.jp/*
  7. // @version 1.0.8
  8. // @grant none
  9. // ==/UserScript==
  10.  
  11. (async g => {
  12. const root = g.document.documentElement;
  13. if (!root || !root.dataset.pageScope) return;
  14.  
  15. const res = await fetch(`${g.origin}/api/my/profile`, { credentials: 'include' });
  16. const { status, name } = await res.json();
  17. if (status !== 1) return;
  18.  
  19. const style = g.document.createElement('style');
  20. g.document.head.appendChild(style);
  21.  
  22. style.sheet.insertRule(`
  23. @keyframes blink-star {
  24. from { opacity: 1.0 }
  25. to { opacity: 0.3 }
  26. }`);
  27. style.sheet.insertRule(`
  28. a.hatena-star-star[href$="/${name}"] {
  29. animation: blink-star 300ms infinite ease-in alternate;
  30. }`);
  31. })(window);