Zenn でミュートしたユーザーの記事やページを開いた際に、警告モーダルを表示するChrome拡張機能です。
- Zennのミュート設定ページ(
/settings/mutes)からミュートユーザーを自動取得 - 手動でのミュートユーザー追加・削除にも対応
- ミュートユーザーのページを開くと警告モーダルを表示
- 「戻る」で前のページに戻る、「このまま閲覧する」でモーダルを閉じて閲覧可能
- ZennのSPAページ遷移にも対応
- このリポジトリをクローンまたはダウンロード
- Chromeで
chrome://extensions/を開く - 右上の「デベロッパーモード」を有効にする
- 「パッケージ化されていない拡張機能を読み込む」をクリック
- このフォルダを選択
- Chrome右上の拡張機能アイコンをクリック
- 「ミュート設定ページを開いて同期」ボタンをクリック
- Zennのミュート設定ページが開き、ミュートユーザーが自動的に取得・保存される
- 右上に同期完了の通知が表示される
ポップアップの「手動で追加」セクションからユーザー名を入力して追加することもできます。
ミュート済みユーザーのページ(記事・スクラップなど)を開くと、警告モーダルが表示されます。
設計ドキュメントは GitHub Pages で公開しています。
Zenn_mute/
├── manifest.json # 拡張機能の設定ファイル(Manifest V3)
├── content.js # Zennページで動作するコンテンツスクリプト
├── modal.css # 警告モーダルのスタイル
├── popup.html # ポップアップUI
├── popup.js # ポップアップのロジック
├── README.md # このファイル
└── docs/ # 設計書(GitHub Pages で公開)
├── index.html
├── architecture.html
├── data-model.html
├── sequence.html
└── state.html
- Chrome Manifest V3 対応
chrome.storage.localでミュートリストを保存- MutationObserverによるSPAページ遷移検知
- URLパスからユーザー名を抽出して判定
- WAI-ARIA対応のモーダルダイアログ
- Zennのミュート設定ページのDOM構造が変更された場合、同期機能が動作しなくなる可能性があります
- その場合は手動追加機能を利用するか、issueでご報告ください