hogashi.*

日記から何から

見えてる一番上の記事のタイトルのSHA-1でブログタイトルの文字色変える

 トップのタイトルはブログを投稿するごとに色が変わって、各記事を見てるときのタイトルは記事ごとに色が違うことになる。透明度も含めて変えているので、運が良ければブログタイトルがめっちゃ薄いときもありそう。編集画面のプレビューで確認できてしまうので、良い色を求めてタイトルを変えてしまうおそれがある状態。
 1秒ごととか日付ごとに変わるようにしてもよかったのだけど、何かに基づいて変わっている感はほしいので、いったん記事タイトルだけを使っている。

f:id:hogashi:20220416204216p:plainf:id:hogashi:20220416204333p:plain

 TextEncoder とか ArrayBuffer とかあたりはひと手間感あるなと思っていたけど、使ってみるとちゃんと道具が揃っていて便利な気がする。

const entryTitleText = document.querySelector('.entry-title-link').textContent;
const encodedText = new TextEncoder().encode(entryTitleText);
crypto.subtle.digest('SHA-1', encodedText).then(digest => {
  const rgba = Array.from(new Uint8Array(digest)).slice(0, 4);
  const blogTitle = document.querySelector('#title a');
  blogTitle.style.color = `rgba(${rgba.join(', ')})`;
});