はてなブックマークの人気/新着エントリーを取得して一覧表示し、ミュートワード・ミュート解除ワード・強制ミュートワードの3種類のワードリストで不要な記事やコメントを非表示にするクライアントサイドのみの静的Webアプリです。フロントエンド自体はサーバーやビルド工程不要で、index.html を静的ホスティング(GitHub Pagesなど)に置くだけで動作します(一覧データの定期更新にはGitHub Actionsを使用。詳細はdocs/architecture.md・docs/technical-notes.md参照)。
公開URL: https://note.gosyujin.com/hateb-tycoon/
各機能の詳細は docs/features.md。
- 一覧表示: カテゴリタブごとに蓄積済みのホットエントリーを表示(無限スクロール、「全て」は統合)
- 並び替え: 更新日時 / 取り込み順 / ブックマーク数 / タイトル
- 検索: タイトル・ドメイン(一覧)、ユーザーid・コメント(個別記事)をその場で絞り込み
- 自分のブックマーク: 秘匿したはてなidのブックマーク一覧を中継Worker経由で表示(plain / rich、フィルタ・検索対応)
- ブックマーク投稿: 記事ページ下部のコメント入力+「ブクマ」で投稿(中継Worker経由のOAuth署名)
- URL直接入力: 検索ボックスにURLを入れてEnterで、任意URLのブックマークコメントを表示
- コメント表示: jsonliteから取得、plain / rich の切り替え
- コメントのスター数(richのみ): はてなスターAPIで各コメントのスター数を表示
- コメント一覧非表示設定の検出: 非表示設定の記事を検出して自動ミュート
- 未ブックマークのURL: 専用表示で元記事へのリンクのみ表示
- コメント中のURLのリンク化: 個別記事ページへのリンクにする
- 既読管理: 既読の輝度低下と、ブックマーク増加時の「更新」バッジ
- 新着コメント表示: 前回訪問後のコメントに「NEW」バッジ
- キーボード操作: 矢印キーで未読記事・前後の記事へ移動
- 既読の同期(Gist): シークレットGist経由で端末間共有
- ミュート機能: mute / unmute / forceMute の3種のワードリスト、CSV入出力、Gist同期
- オフライン対応: Service Workerでアプリ本体と全カテゴリの一覧データをキャッシュ
- 自動スクロール・自動リフレッシュ: ヘッダーのボタンでスクロール、前面復帰時に一覧を更新
- リポジトリをクローンし、
index.htmlを静的ファイルとして配信します(例:npx serve .や GitHub Pages)。file://で直接開いても動作しますが、ブラウザによっては<script>動的挿入(JSONP)が制限される場合があるため、ローカルサーバー経由を推奨します。 - 画面上部のカテゴリタブで表示する分野を切り替えます。
- 記事カードの「ブックマークコメントを見る」をクリックすると、その記事にブックマークしたユーザーのコメント一覧に遷移します。
- 右上の「フィルタ設定」からルールを追加すると、一覧・コメントの両方に即座に反映されます(再読み込み/再遷移で反映)。
- docs/features.md: 機能の詳細・ミュートの判定ロジック・Gist同期の仕様
- docs/architecture.md: ディレクトリ構成・データの流れ・オフライン対応の仕組み
- docs/technical-notes.md: 技術的な注意点・変更禁止の不変条件・検証上の注意
- docs/decisions/: 経緯の長い調査・意思決定(RSS採用、Service Workerの不具合対処、cron対策)
- CHANGELOG.md: 変更履歴
- CLAUDE.md: Claudeへの指示