Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GitHub Star Marker

日本語 | English

GitHub Star Marker は、GitHub のユーザー / Organization ページ上で、表示されているリポジトリを自分がスター済みかどうか分かるようにするブラウザ拡張機能です。

スター済みのリポジトリには、リポジトリ名の横に黄色い星を表示します。未スター、確認中、トークン未設定などの状態では、GitHub の見た目を邪魔しない控えめな星として表示します。

主な機能

  • GitHub の pinned repositories でスター済みリポジトリを可視化
  • Organization の repositories 一覧でスター済みリポジトリを可視化
  • GitHub GraphQL API の viewerHasStarred を使った正確な判定
  • GitHub Personal Access Token を拡張機能のオプション画面に保存
  • 短時間キャッシュで同じリポジトリへの API 呼び出しを削減
  • Chrome / Firefox 向けにビルド可能

対応ページ

  • https://github.com/<user>
  • https://github.com/<org>
  • https://github.com/<user>?tab=repositories
  • https://github.com/<org>?tab=repositories
  • https://github.com/orgs/<org>/repositories

GitHub の DOM や画面構造が変わると、表示位置の調整が必要になる場合があります。

セットアップ

bun install
bun run build

Chrome では dist/chrome-mv3 を unpacked extension として読み込んでください。

Firefox 用にビルドする場合:

bun run build:firefox

生成された Firefox 用の出力 dist/firefox-mv2about:debugging から読み込んでください。

開発

Chrome 向けの開発サーバー:

bun run dev

Firefox 向けの開発サーバー:

bun run dev:firefox

型チェック:

bun run typecheck

GitHub トークン

拡張機能のオプション画面を開き、GitHub Personal Access Token を保存してください。

Personal Access Token の作成方法

  1. GitHub の Personal access tokens を開きます。
  2. Fine-grained tokensGenerate new token を選びます。
  3. Repository access は、公開リポジトリだけ確認したい場合は Public Repositories を選びます。
  4. Permissions は基本的に追加しなくて大丈夫です。この拡張機能は GraphQL API で viewerHasStarred を読むだけで、リポジトリを書き換えません。
  5. private repository も判定したい場合だけ、対象リポジトリを Repository access に含め、読み取りに必要な最小限の権限を付与してください。
  6. 作成した token をコピーし、拡張機能のオプション画面に貼り付けて保存します。

Classic token を使う場合は、公開リポジトリだけなら追加 scope なしで試せます。private repository を対象にする場合は repo scope が必要になることがありますが、可能なら fine-grained token を使い、対象リポジトリを絞ることをおすすめします

トークンは chrome.storage.local / browser.storage.local 相当のローカルストレージに保存されます。GitHub API への問い合わせ以外には使いません。

仕組み

  1. Content script が GitHub ページ上のリポジトリリンクから owner/repo を抽出します。
  2. Background script に { type: "CHECK_STARRED", repos: string[] } を送ります。
  3. Background script が GitHub GraphQL API にまとめて問い合わせます。
  4. viewerHasStarred の結果をもとに、ページ上のリポジトリ名の横へ星を表示します。
  5. 結果は短時間キャッシュされ、ページ内遷移や再描画で同じ問い合わせが増えすぎないようにします。

注意事項

  • GitHub Enterprise Server は現在サポート対象外です。
  • GitHub のページ構造変更により、星が表示されなくなる可能性があります。
  • Firefox ビルドでは、WXT から Firefox 用 manifest に関する警告が表示される場合があります。

ライセンス

MIT

About

Browser extension that marks GitHub repositories you have starred.

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages