最近いじっているプロジェクト
ここ数日でいろいろなプロジェクトをいじっていたので、メモがてら記録しておきます。
blog: Stylelint を導入した
このブログに Stylelint を導入しました。
npm install -D stylelint stylelint-config-standard stylelint-config-html postcss-html
Astro の場合は stylelint-config-html/astro を使うと .astro ファイル内の <style> タグを認識してくれます。
自動修正で CSS の色指定が rgb(255, 255, 255, 0.92) から rgb(255 255 255 / 92%) みたいなモダンな記法に変わったのが面白かった。100件くらい修正されました。
Meibo: ようやく配信で使えた
イベント参加者管理ツールとして作っていた Meibo を、ようやく配信で実際に使うことができました。
YouTube のチャット取得がちゃんと動いて、参加者の管理もスムーズにできて良かったです。
細かい改善としては:
- ライトモード対応を追加(Tailwind CSS の
dark:プレフィックスで100件以上修正) - ログ自動スクロールの挙動改善
- プレイヤー名編集時の
Cannot set properties of nullエラー修正
実際に使ってみるといろいろ気づくことがありますね。
.gitignore の罠
.gitignore にファイルを追加しても、既に Git が追跡しているファイルは無視されないんですね。今更ながら気づきました。
git rm --cached path/to/file
で解決。--cached を付けるとローカルのファイルは残ります。
メモ: よく遭遇するエラー
モーダルを閉じた直後の DOM 操作
// ❌ モーダルを閉じた後に要素にアクセスすると null になる
modal.close();
saveButton.textContent = '完了'; // エラー
モーダルを閉じる前に UI 更新するか、null チェックを入れると解決。
ログの自動スクロール
requestAnimationFrame でラップすると確実に動きます:
checkbox.addEventListener('change', (e) => {
if (e.target.checked) {
requestAnimationFrame(() => {
logContainer.scrollTop = logContainer.scrollHeight;
});
}
});
blog と Meibo の改善ができたので、ひとまず満足です。